无法从州'state2'解析'state1'

时间:2016-12-06 10:49:04

标签: angularjs angular-ui-router

我使用$ state.go()从一种状态转换到另一种状态,如下所示:

$ state.go('menuItem.list');

这会导致以下错误。

无法解决州'branches.view'的'menuItem.list'

以下是menuItem和分支模块的状态提供程序。

模块:分支

.state('branches', {
  abstract: true,
  url: '/branches',
  template: '<ui-view/>'
})
.state('branches.list', {
  url: '',
  templateUrl: 'modules/branches/client/views/list-branches.client.view.html',
  controller: 'branchesListController',
  controllerAs: 'vm'
})
.state('branches.view', {
  url: '/:branchId',
  templateUrl: 'modules/branches/client/views/view-branch.client.view.html',
  controller: 'branchesController',
  controllerAs: 'vm'
}) 

module:menuItem

.state('menuItems', {
  abstract: true,
  url: '/menuItems',
  template: '<ui-view/>'
})
.state('menuItems.list', {
  url: '',
  templateUrl: 'modules/menuItems/client/views/list-menuItems.client.view.html',
  controller: 'menuItemsListController',
  controllerAs: 'vm'
})

2 个答案:

答案 0 :(得分:0)

这样你就可以使用新模块文件中的所有模块

angular.module('branches.modules', [
    'branches', 'branches.list', 'branches.view', 'menuItems','menuItems.list'
]);

并在主app.js或app.module.js中添加

angular.module('app', ['ui.router', 'branches.modules']);

答案 1 :(得分:0)

你可以使用下面的代码:

模块:分支

.state('branches', {
      abstract: true,
      url: '/branches',
      template: '<ui-view/>'
    })
    .state('branches.list', {
      url: '',
      views: {
            templateUrl: 'modules/branches/client/views/list-branches.client.view.html',
            controller: 'branchesListController',
            controllerAs: 'vm'
          }
      })
    .state('branches.view', {
      url: '/:branchId',
      views: { 
            templateUrl: 'modules/branches/client/views/view-branch.client.view.html',
            controller: 'branchesController',
            controllerAs: 'vm'
            }
        }) 

module:menuItem

    .state('menuItems', {
            abstract: true,
            url: '/menuItems',
            template: '<ui-view/>'
       })
     .state('menuItems.list', {
       url: '',
       views:{
                  templateUrl: 'modules/menuItems/client/views/list-menuItems.client.view.html',
                  controller: 'menuItemsListController',
                  controllerAs: 'vm'
              }    
})

您必须使用州内的观点 祝你好运