我有2个列表的页面:该类别的类别和产品。模块代码:
var shop = angular.module('shop', []);
shop.controller('Products', ['$scope', '$http', '$rootScope', function($scope, $http, $rootScope) {
$scope.products = [];
$scope.update = function () {
$http.post('/shop/products', {
category_id: $rootScope.category_id
})
.success(function(response, status){
$scope.products = response.data;
})
.error(function(data, status){ });
};
}]);
shop.controller('Categories', ['$scope', '$http', '$rootScope', function($scope, $http, $rootScope) {
$scope.categories = [
{ name: 'games', id: 1 }, { name: 'films', id: 2 }
]
$rootScope.category_id = '-1';
$scope.select = function (id) {
$rootScope.category_id = id;
// Need to run an update of Product controller
}
}]);
当用户通过单击选择类别时,我需要使用从服务器收到的新产品(按所选类别筛选)更新产品列表。问题是如何在类别控制器中运行Products控制器的更新功能?
我知道事件广播的简易方法,但它不是最好的解决方案。