0
好吧,我在控制器更新進度條(在指令中)時遇到一些問題。AngularJS:如何從另一個控制器更新指令
這裏有一些代碼段: 我的指令:
angular.module('TestApp').directive('orderProgress', ['$window', OrderProgress]);
function OrderProgress($window) {
var directive = {
link: link,
restrict: 'A',
templateUrl: 'OrderProgress.html',
controller: 'ProgressController',
replace: true
};
return directive;
function link(scope, element, attrs) {}
}
控制器指令:
function ProgressController($scope, progressNumberService) {
$scope.progress = progressNumberService.getProgress();
}
progressNumberService只是隱藏的細節爲 「進步」 量:
var progress = 20;
var progressServiceInstance = {
incProgress: function() {
progress += 20;
},
decProgress: function() {
progress -= 20;
},
getProgress: function() {
return progress;
}
};
App.value('progressNumberService', progressServiceInstance);
當然控制器:
function Controller($scope, progressNumberService) {
$scope.nextStep = function() {
progressNumberService.incProgress();
};
$scope.prevStep = function() {
progressNumberService.decProgress();
};
}
我創建了一個例子: http://plnkr.co/edit/LtY4ZUG591Kd3mUKEmEF?p=catalogue
那麼,爲什麼不將指令得到的「控制器」,當按下下一步/後退按鈕更新?
感謝。這確實奏效。我的角度知識不在那個水平(還)。 – sanjosep43
你會到達那裏的人,祝你好運。 –