0

我想要完成的是绑定两个指令抛出一个共享服务,以便当其中一个发生更改时,更改将立即传播到另一个。

我的指令如下所示:

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/

谢谢!

4

1 回答 1

2

.由于代码的原型性质,您需要使用符号或对象。直接字符串绑定在当前作用域上创建一个新的字符串值。

看到这个小提琴http://jsfiddle.net/TAhfb/2/

于 2013-09-03T07:50:42.037 回答