【问题标题】:AngularJS route does not render the templateAngularJS 路由不渲染模板
【发布时间】:2014-04-03 04:11:59
【问题描述】:

我有两个控制器,我正在使用 AngularJS $routeProvider 加载多个页面。当我点击第一个部分的链接转到第二个部分时,第二个部分没有呈现,并且模板标签都是显示的。

所以,在第一部分中,这会渲染到 Hello World:

<h1>Hello {{name}}</h1>

但是,这不会在第二部分呈现:

<h1>Hello {{name}} on page 2</h1>

这里有一个 plunkr 来说明我的意思:http://plnkr.co/edit/7X2vlIhMvLlIqE4UvC09?p=preview

【问题讨论】:

  • 下次可能要检查你的错误控制台~“ReferenceError: $routeParams is not defined”。看起来你没有将$routeParams 注入到你的控制器中

标签: javascript html angularjs angularjs-routing


【解决方案1】:

您没有将$routeParams 注入您的控制器。将其注入您的控制器,例如:

app.controller("UserDetailCtrl", function($scope, $routeParams) {

这将解决您的问题

在您的控制器中,您将范围变量命名为$scope.name2,而在您的 partial2.html 页面中,您将绑定到{{name}}。那就是问题所在。将其更改为 {{name2}} 或将您的范围变量更改为 $scope.name

【讨论】:

  • 我也这么认为,但它似乎不适用于 plnkr 演示
  • 是的,它对我有用。在单击用户名时执行此操作后,它会呈现 partial2.html 页面
  • 没关系,OP 在他们的控制器中有 $scope.name2 而不是 $scope.name
  • 是的,这就是问题所在。我刚刚检查过了。
猜你喜欢
  • 2015-12-24
  • 2015-12-30
  • 2017-09-19
  • 2015-02-15
  • 2015-05-21
  • 2015-08-27
  • 2014-12-14
  • 2015-05-24
  • 1970-01-01
相关资源
最近更新 更多