0

私が達成したいのは、2 つのディレクティブをバインドして共有サービスをスローすることです。これにより、一方に変更があった場合、すぐに変更が他方に伝達されます。

私のディレクティブは次のようになります。

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 に答える