2017-12-03 201 views
1

继承解析的依赖这里是我的代码子状态不是从父状态

$stateProvider 
     .state('admin', { 
      abstract: true, 
      templateUrl: "views/common/content.html", 
      resolve: { 
       channel: function($stateParams){ 
        return $stateParams.id 
       } 
      } 
     }) 
     .state('admin.dash',{ 
      url: "/dash", 
      templateUrl: "views/admin/admin_dash.html" 
     }) 

和我有使用NG-控制器此admin_dash.html鉴于许多控制器。并且在这些控制器(子)中的任何一个中,我都无法注入“通道”,这是应该继承的父状态已解决的依赖关系。

+0

ui-router的最新版本,注入意味着'注入'父状态已解决的依赖关系到绑定到子状态的控制器,在这种情况下'通道' –

回答

1

解决方案injectables将不可用于任何旧的ng-controller,但仅限于指定给该状态的控制器。

E.g.

$stateProvider 
    .state('admin', { 
     abstract: true, 
     templateUrl: "views/common/content.html", 
     resolve: { 
      channel: function($stateParams){ 
       return $stateParams.id 
      } 
     } 
    }) 
    .state('admin.dash',{ 
     url: "/dash", 
     templateUrl: "views/admin/admin_dash.html", 
     // Injectable here 
     controller: function(channel, $rootScope) { 
      console.log('Received channel from parent resolve:', channel); 
      // If need for ng-controller bound controllers... 
      $rootScope.channel = channel; 
     } 
    })