您好我有一個角應用程序,我目前使用$routeProvider
路由的網址爲模板與ng-view
指令:角控制器繼承與觀點路由
app.js
.config(function ($interpolateProvider, $routeProvider) {
$routeProvider
.when('/project/:projectId', {
// this is the partial...
templateUrl : 'partials/_project_detail.html',
controller: 'ProjectDetailCtrl',
resolve: {
project: function ($route, MyService) {
return MyService.get('projects/', $route.current.params.projectId);
}
})
})
.controller('ProjectDetailCtrl', function ($scope, project) {
...
$scope.project = project;
})
的index.html
...
<div ng-view></div>
...
現在,我想我們E控制器範圍繼承有一個孩子控制器父之一內,沿着線:
project_detail.tmpl.html
...
<h2>Project: {{ project.title }}</h2> <!-- this works -->
<div ng-controller="ChildCtrl">
<h2>Project: {{ project.title }}</h2> <!-- this doesn't work -->
</div>
...
但這似乎並沒有工作。我知道根據Angular文檔,如果兩個控制器都在模板中聲明,您可以繼承父範圍和子範圍之間的範圍:http://docs.angularjs.org/guide/controller
是否有某種方法可以實現使用路由器方法的繼承?
嘗試$ rootScope.project =項目; – Whisher
嗯。這種類型打敗了範圍繼承的對象。如果我綁定到'$ rootScope',那麼子控制器不需要嵌套,它可以在任何地方。我寧願將範圍對象保留在這兩個控制器中。 –