我试图通过ng-click更改工厂中的值,并让应用程序中的其他控制器反映该更改。
厂:
app.factory('data', function() {
function changeMe(inc) {
return 1;
}
return {
changeMe: changeMe
};
});
控制器:
app.controller('MainCtrl', function($scope, data) {
$scope.change = data.changeMe();
// I want this to change data.changeMe so that the secCtrl will reflect
// the change as well.
$scope.addOne = function(){
$scope.change = data.changeMe() + 1;
}
});
app.controller('secCtrl', function($scope, data) {
$scope.change = data.changeMe();
})
HTML:
<div ng-controller="MainCtrl">
<p ng-click=addOne()>{{change}}!</p>
</div>
<div ng-controller="secCtrl">
<p>{{change}}
</div>
我如何才能使ng-click也更改secCtrl中的值。我希望它们都在HTML中得到更新。
上面的一个小问题:
http://plnkr.co/edit/4LsWMzwapgYpcz3hzI72?p=preview
最佳答案
您可以将addOne函数移至数据工厂,也可以将change变量存储在其中。我已经分叉了你的朋克:
http://plnkr.co/edit/un4sH1nI4JP5Gd1Ze26D?p=preview
关于javascript - Ng-Click更新服务出厂值以反射(reflect)在其他 Controller 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24455812/