我的应用程序有一个主控制器,它包装整个应用程序,每个页面都有自己的特定控制器。
我使用主控制器来存储那些需要通过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不知道......