【问题标题】:angular js ng-view functionalityAngular js ng-view 功能
【发布时间】:2015-11-25 14:39:30
【问题描述】:

我一直试图让 ng-view 在一个简单的示例应用程序中工作,但没有成功。有人可以指出我的代码写错了吗?

Plunkerhere

<a href="/one">one</a>
<a href="/two">two</a>

这几行的写法有问题吗?

【问题讨论】:

  • 您使用的是 angular v1.2.0 但 angular-route v1.4.4,这可能是第一个问题。
  • @Abbadiah plnkr.co/edit/zQZWlOluyavauBydVoWD?p=preview 没有 html5 模式 atm,看起来 html5mode 在 plnkr 上不起作用,但我不确定

标签: angularjs angularjs-routing ng-view


【解决方案1】:

http://plnkr.co/edit/vmqDVQZmRS1jVrugJlhU?p=preview

几个问题。

首先,在 plunkr 中使用 template 而不是 templateUrl ,除非您预先缓存 http 请求。 Plunkr 不允许您发出 http 请求。

其次,就像 sp00m 所说,您的版本不匹配。它们都应该是 1.2.0 或 1.4.4(或其他任何版本,只要它们是相同的版本)。

第三,您的&lt;head&gt;&lt;/head&gt; 中需要&lt;base href="/"&gt;

最后,这里有个简单的错误——.otherwise({redirectTo: '/one.html'}) 必须是 .otherwise({redirectTo: '/one'})

【讨论】:

  • @sbaaaang 提供的 plunker 代码就像一个魅力,但问题是如何使用 html5 模式接收相同的结果。看到 plunker 有它的局限性,假设一个人使用他自己的服务器(如 wamp 或 xampp)怎么可能?
  • 这只是在http层。您可以通过标准方式请求 templateUrl,并通过先将 html 添加到 templateCache 来避免 plunkr 问题。 $templateCache.put('one.html', 'one');docs.angularjs.org/api/ng/service/$templateCache 只要您的 http 正确处理请求,它就会在您的 http 服务器上运行。
猜你喜欢
  • 1970-01-01
  • 2015-07-16
  • 2016-12-20
  • 1970-01-01
  • 2014-09-13
  • 2013-04-08
  • 1970-01-01
  • 2013-10-27
  • 2015-07-18
相关资源
最近更新 更多