使用ui.router如何让一个控制器成为另一个控制器的孩子?

时间:2016-05-26 11:52:39

标签: javascript html angularjs angular-ui-router

在html中,你可以通过用嵌套的html代码编写一个控制器作为另一个控制器的孩子:

<div ng-controller="parentCtrl">
  <div ng-controller="childCtrl">

但是使用ui.router,你只能指定一个状态是另一个状态,你如何使控制器也继承父状态的控制器?例如:

$stateProvider
    .state('parent', {
        url: '/',
        views: {
            'content': {
                templateUrl : 'static/templates/parent.html',
                controller  : 'ParentController'
            },

        }
    })
    .state('parent.child', {
        url: '/child',
        views: {
            'content@': {
                templateUrl : 'static/templates/child.html',
                controller  : 'ChildController'
            },
        }
    })

在这种情况下,ChildController会自动从ParentController继承吗?如果不是我怎么做到的?

1 个答案:

答案 0 :(得分:0)

来自ui-router documentation

  

仅按视图层次结构的范围继承

     

请记住,范围属性仅继承状态链   如果你的州的意见是嵌套的。范围的继承   属性与您的状态嵌套无关   与嵌套视图(模板)有关。

所以,答案 - 这取决于。这取决于您在州链中配置/指定视图的方式。

希望它会有所帮助。

相关问题