我想要完成的是绑定两个指令抛出一个共享服务,这样当其中一个更改时,更改会立即传播到另一个。
我的指示如下:
app.directive("input1", function (sharedService) {
return {
restict: 'A',
scope: 'isolate',
template: '<input type="text" ng-model="sharedText" class="input-medium" />{{sharedText}}',
link: function (scope, elem, attrs) {
scope.sharedText = sharedService.sharedText; // Service never gets updated if the scope it's modified :(
}
}
});
app.directive("input2", function (sharedService) {
return {
restict: 'A',
scope: 'isolate',
template: '<input type="text" ng-model="sharedText" class="input-medium" />{{sharedText}}',
link: function (scope, elem, attrs) {
scope.sharedText = sharedService.sharedText;
}
}
});
在这里你可以看到我到现在为止的一个小提琴:http://jsfiddle.net/Hubrus/kxGG6/1/
谢谢!
答案 0 :(得分:2)
由于代码的原型性质,您需要使用.
符号或对象。直接字符串绑定在当前作用域上创建一个新的字符串值。
请参阅此小提琴http://jsfiddle.net/TAhfb/2/