如何建立不同父状态的状态?

时间:2016-06-09 09:31:14

标签: angularjs angular-ui-router

考虑我的项目的页面布局方案,

Father ----> His Friends Listing  
Father ----> Child ----> His Friends Listing

路线

Father - root.father  
Father-->Friends - root.father.friends  
Father-->Child - root.father.child  
Father-->Child-->Friends - root.father.child.friends 

如何为“朋友”创建一条路线?哪个可以用于任何父级状态(在ui路由器中)?我对这两条路线都有相同的控制器。

1 个答案:

答案 0 :(得分:0)

您需要定义每个stat,表示您可以在每个定义中重用FriendsController及其模板。

<强>更新

如果要实际定义这些状态,您有两种选择:

  1. 在州配置中
  2. 使用代码生成构建时
  3. 以下是第一个选项的示例,在您的州配置中,您可以使用以下内容:

    var friendStateParents = ['root.father', 'root.father.child'];    
    
    function generateFriendStates() {
    
        friendStateParents.forEach(function(parent) {
    
           $stateProvider.state(parent + '.friends', {
                controller: 'FriendsController',
                controllerAs: 'ctrl',
                templateUrl: 'friends.controller.html'
           })
       })
    }
    
    generateFiendStates();