从顶级控制器

时间:2016-12-08 10:47:23

标签: javascript angularjs

我的应用程序有一个主控制器,它包装整个应用程序,每个页面都有自己的特定控制器。

我使用主控制器来存储那些需要通过API实时推送而不断更新的变量。

有时我也需要使用来自子控制器的数据,但实际上我并不知道如何正确地做到这一点。

假设主控制器有一个items数组,并且不断更新(显然更新过程更复杂):

angular.module('core')
.controller('MainController', ['service', function(service) {

  var vm = this;
  vm.items = [];

  service.on('update', function(newItem) {
    vm.items.push(newItem);
  });

}]);

在另一页上我有另一个控制器,主要的孩子:

angular.module('list')
.controller('ListController', [function() {

  var vm = this;

  // If I need to access my main controller to look through items,
  // what should I do?

});

我尝试使用$scope.$parent.main.items,但它没有正确检索项目......

我希望避免将items存储在$rootScope$scope中,我很确定有更好的方法可以做到这一点,但不幸的是我没有&#39不知道......

0 个答案:

没有答案