8
ディレクティブインスタンスは2つあります。 2つのインスタンス間で通信する方法はありますか? また、すべてのインスタンスが同じ値を共有するグローバル変数を設定できますか?ディレクティブインスタンス間の通信に最適な方法
サービスに値を格納しようとしました。あるインスタンスの値が変更されると、他のインスタンスが手動で更新されます。しかし、これが最良の方法であるかどうかはわかりません。
ありがとうございました。
ディレクティブインスタンスは2つあります。 2つのインスタンス間で通信する方法はありますか? また、すべてのインスタンスが同じ値を共有するグローバル変数を設定できますか?ディレクティブインスタンス間の通信に最適な方法
サービスに値を格納しようとしました。あるインスタンスの値が変更されると、他のインスタンスが手動で更新されます。しかし、これが最良の方法であるかどうかはわかりません。
ありがとうございました。
ディレクティブ・ファクトリ自体はシングルトンです。定義オブジェクトの外で宣言したものは、すべてのインスタンスに対してグローバルになります。各インスタンスには独自のスコープがあるため、インスタンス固有のデータがスコープに入れられます。したがって、このような何か:どのように `$のbroadcast`について
angular.module("myApp", [])
.directive("myDir", function() {
var myGlobal = 0;
return {
template: '<div>Global: {{getGlobal()}}, Local: {{local}} -- <a href="" ng-click="increment()">Increment</a></div>',
scope: {},
link: function(scope, element, attrs) {
scope.local = 0;
scope.increment = function() {
scope.local++;
myGlobal++;
}
scope.getGlobal = function() {
return myGlobal;
}
}
}
});
? http://docs.angularjs.org/api/ng.$rootScope.Scope#$broadcast –