我正在使用最新的ui路由器使用angular 1.3.11。
当我通过以下方式将$ scope或constants注入到我的DateplannerController中时:
'use strict';
angular.module('test').controller('DateplannerController', function (stateConfiguration, $scope, $state) {
});
然后没有定义stateConfiguration AND $ scope。
为什么?
.state('main.projects.selected.dates', {
url: '/planner',
abstract: true,
views: {
'menu@': {
templateUrl: '../views/menu.html',
controller: 'MenuController'
},
'content@': {
templateUrl: '../views/dateplanner/dateplanner.html',
controller: 'DateplannerController'
}
}
})
'use strict';
angular
.module('test', ['ui.router', 'ui.grid', 'ui.grid.selection',
'ui.grid.resizeColumns', 'ui.bootstrap', 'angularMoment', 'LocalStorageModule', 'textAngular', 'angularModalService'] )
.constant('stateConfiguration', {
state1: 'bla'
})
答案 0 :(得分:0)
我认为你忽略了一个与抽象状态有关的事情:
抽象状态可以具有子状态但不能自行激活。一个'摘要'国家只是一个无法转变的国家。当其中一个后代被激活时,它会被隐式激活。
请参阅:https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views#abstract-states
我的猜测是,您正试图导航到无法工作的/planner
。您已添加子状态并导航到该URL。根据您提供的代码很难说出现了什么问题。我建议查看我上面链接的页面上的示例。