Angularjs 无法使用ui路由器将$scope和常量注入抽象状态的控制器

Angularjs 无法使用ui路由器将$scope和常量注入抽象状态的控制器,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我正在使用angular 1.3.11和最新的ui路由器 当我通过以下方式将$scope或常量注入DateplannerController时: 'use strict'; angular.module('test').controller('DateplannerController', function (stateConfiguration, $scope, $state) { }); 然后没有定义stateConfiguration和$scope 为什么? 我认为你忽略了一件与抽象状

我正在使用angular 1.3.11和最新的ui路由器

当我通过以下方式将$scope或常量注入DateplannerController时:

'use strict';
angular.module('test').controller('DateplannerController', function (stateConfiguration, $scope, $state) {

});
然后没有定义stateConfiguration和$scope

为什么?


我认为你忽略了一件与抽象状态有关的事情:

抽象状态可以有子状态,但不能自行激活。“抽象”状态只是无法转换到的状态。当它的一个子代被激活时,它被隐式激活

见:


我猜您正在尝试导航到/planner,但这行不通。您必须添加一个子状态并导航到该URL。根据您提供的代码,很难说哪里出了问题。我建议检查我上面链接的页面上的示例。

您的控制台中有错误吗?控制台中没有错误!不,我不尝试导航到/planner。我的路线工作了一个月,没问题。我的路线为/planner/天或/planner/周等-
   .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'
      })