在另一个控制器中运行一个角度控制器的功能

时间:2013-07-18 23:34:54

标签: javascript angularjs angularjs-scope

我有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控制器的更新功能?

我知道事件广播的简易方法,但它不是最好的解决方案。

0 个答案:

没有答案