将相同的子状态附加到多个父状态

时间:2017-04-02 19:14:08

标签: angularjs angular-ui-router

我正在使用Angular JS上的前端Web应用程序并使用UI路由器进行路由。

现在,我的孩子状态在多个州都是一样的。

$stateProvider.state('app.user1.viewProfile1', {
        url: '/:profileURL',
        views: {
            'main@app.user': {
                component: 'profile'
            }
        }
    });
 $stateProvider.state('app.user2.viewProfile1', {
        url: '/:profileURL',
        views: {
            'main@app.user': {
                component: 'profile'
            }
        }
    });
 $stateProvider.state('app.user3.viewProfile1', {
        url: '/:profileURL',
        views: {
            'main@app.user': {
                component: 'profile'
            }
        }
    });

有没有办法不复制viewProfile子进程和后续状态定义,是否可以将同一个子进程附加到多个父进程?

1 个答案:

答案 0 :(得分:2)

您可以在循环中删除状态和&迭代像 -

这样的状态
angular.forEach(["parent.state1","parent.state2","parent.state3"], function(parent) {
  $stateProvider.state(parent+".childState", {
      url: '/child',
      ...
  });
});