Я пытаюсь создать двустороннюю привязку данных между двумя изолированными контроллерами и общей службой (которая предоставляет еще одну изолированную область):
app.factory("sharedScope", function($rootScope) {
var scope = $rootScope.$new(true);
scope.data = "init text from factory";
return scope;
});
app.controller("first", function($scope, sharedScope) {
$scope.data1 = sharedScope.data;
});
app.controller("second", function($scope, sharedScope) {
$scope.data2 = sharedScope.data;
});
Fiddle: http://jsfiddle.net/akashivskyy/MLuJA/
Когда приложение запускается, data1
и data2
корректно обновляются до init text from factory
, но позже, если я изменю любой из них, эти изменения не будут отображаться в этих трех областях.
Как я могу связать их?
P.S. Если есть лучший способ, чем вернуть область действия и все еще иметь доступ к событиям и наблюдениям (без их перезаписи), дайте мне знать.:)