1、2、3 のケースで、サービス中のメッセージを変更しても、表示されるメッセージに影響しないのはなぜですか?
var app = angular.module('app', []);
app.factory('Message', function() {
return {message: "why this message doesn't changed"};
});
app.controller('Changer', function($scope, Message) {
Message.message = "first" // (1)
$scope.changeItems = function() {
Message.message = "second" // (2)
}
});
app.controller('Listener', function($scope, Message) {
$scope.message = Message.message
Message.message = "third" // (3)
});
そして私の見解:
<div ng-controller="Listener">
{{ message }}
</div>
<div ng-controller="Changer">
<button ng-click="changeItems()">change message</button>
</div>
plunkr http://plnkr.co/edit/BUPS6U0S7ktDEkH9dZTZ?p=previewの例も作成しました