http://jsfiddle.net/9hazjjcc/装订服务变量要控制AngularJS
var myApp = angular.module('myApp',[]);
function MyCtrl($scope, myService) {
$scope.targetMode = myService.targetMode;
$scope.myService = myService;
}
myApp.service('myService', function() {
this.targetMode = 2;
});
function ctrlTwo($scope, myService) {
$scope.addToTargetMode = function() {
myService.targetMode++;
}
}
HTML:
<div ng-controller="MyCtrl">
<p>Hello, {{ targetMode }}!</p>
<p>Hello, {{ myService.targetMode }}!</p>
</div>
<div ng-controller="ctrlTwo">
<button ng-click="addToTargetMode()">
Add To Target Mode
</button>
</div>
此的jsfiddle说大部分。我想在控制器中使用一个服务变量来操纵视图,但是我不想将整个服务公开给控制器,因为这看起来不是很像Angular-like。还是被认为是最佳做法?
在理想情况下,第一个段落将更新从每当它改变了服务显示targetMode变量。