我有这段布局html:
<body ng-controller="MainController">
<div id="terminal"></div>
<div ng-view></div>
<!-- including scripts -->
</body>
现在显然,当我尝试使用$routeParams
in 时MainController
,它总是空的。重要的是要注意它MainController
应该在每条可能的路线中都有效;因此我没有在我的 app.js 中定义它。我的意思是,我没有在这里定义它:
$routeProvider.when("/view1", {
templateUrl: "partials/partial1.html"
controller: "MyCtrl1"
})
$routeProvider.when("/view2", {
templateUrl: "partials/partial2.html"
controller: "MyCtrl2"
})
// I'm not defining MainController here!!
事实上,我认为我的问题与这个问题完全一样:https ://groups.google.com/forum/#!topic/angular/ib2wHQozeNE
但是,我仍然不知道如何在我的主控制器中获取路由参数......
编辑:
我的意思是我没有将我的 MainController 与任何特定路由相关联。它已定义;它是所有其他控制器的父控制器。我想知道的是,当您转到与/whatever
路由匹配的 URL 时/:whatever
,为什么只有子控制器能够访问路由参数,而主控制器不能?如何:whatever
在主控制器中获取路由参数?