角度控制器继承与视图路由

时间:2014-02-12 20:00:24

标签: angularjs angularjs-scope

我有一个Angular应用,我目前正在使用$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>
...

现在,我想使用控制器范围继承在父窗口中使用子控制器,其行如下:

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

有没有办法使用路由器方法实现继承?

1 个答案:

答案 0 :(得分:0)

也许这是因为你绑定到原始值,而不是控制器中的对象。尝试使用带点符号的对象,例如:{{project.var1}}

如果这是问题,我建议您观看此视频:Egghead.io