更新其他控制器范围我是AngularJS一个新手,所以也许我在看这个错误的方式。如果是这样,请指向正确的方向。使用AngularJS服务从其他模块
基本上我想更新驻留在另一个模块中的另一控制器一些DOM元素。 我试图通过服务发送数据,但它似乎没有在目标范围上更新。
var mainModule = angular.module('main', []);
var appModule = angular.module('app', ['main']);
appModule.controller("appCtrl", function ($scope, $routeParams, mainService) {
$scope.mainService = mainService;
var initialize = function() {
$scope.mainService.currentID = $routeParams.productId;
}
initialize();
});
mainModule.factory('mainService', function() {
var mainService = { currentID: 0 };
return mainService
});
mainModule.controller('mainCtrl', ['$scope', 'mainService', function ($scope, mainService) {
$scope.mainService = mainService;
$scope.function1Url = "function1/" + $scope.mainService.currentID;
$scope.function2Url = "function2/" + $scope.mainService.currentID;
//CurrentID is always 0!!
}]);
我预计,在appCtrl
调用initialize()
功能时,它会看到currentID
PARAM其中也使用mainCtrl
服务。
您忘了注入$ routeParams –