如何在嵌套视图上将状态更改解析为控制器

时间:2016-02-03 12:02:49

标签: javascript angularjs ionic-framework angular-ui-router

我正在尝试对状态更改执行解析,以获取我想要在使用“多个”视图的控制器中注入的数据。嵌套视图的原因是因为template/app.html包含<ion-side-menu>,我想解析<side-menu-content>内的数据。

CODE

模块配置:

$stateProvider.state('app', {
    url: '/app',
    abstract: true,
    templateUrl: 'template/app.html'
})
.state('app.list', {
  url: '/list',
  views: {
    'maincontainer@app': {
      controller: 'listctrl',
      templateUrl: 'template/list.html',
      resolve: {
        item: function(dataservice) {
          return dataservice.getItems();
        }
      }
    }
  },
  resolve: {
    auth: auth
  }
});

控制器:

angular.module('controller', []).controller('listctrl', 
['$scope', function($scope, items){
  console.log(items); // prints undefined
}]);

问题

问题在于,虽然item功能已解决,但解决的项目从未注入控制器。

我一直在考虑在解决时可能必须将数据存储在本地存储中,并从控制器再次获取项目。我更愿意,如果我不必走那条路(双关语)。

1 个答案:

答案 0 :(得分:1)

你必须实际注射物品。

angular.module('controller', []).controller('listctrl', 
['$scope', "items", function($scope, items){
  console.log(items); // prints undefined
}]);