ローカルスコープに一部の機能をバインドするディレクティブが$scope.$on
です。
同じ関数を1回の呼び出しで複数のイベントにバインドすることはできますか?
app.directive('multipleSadness', function() {
return {
restrict: 'C',
link: function(scope, elem, attrs) {
scope.$on('event:auth-loginRequired event:auth-loginSuccessful', function() {
console.log('The Ferrari is to a Mini what AngularJS is to ... other JavaScript frameworks');
});
}
};
});
をしかし、これは動作しません:
理想的には私はこのような何かをすることができると思います。カンマ区切りのイベント名文字列を['event:auth-loginRequired', 'event:auth-loginConfirmed']
に置き換えた同じ例でも、wrkは実行されません。仕事を何
はこれです:
app.directive('multipleSadness', function() {
return {
restrict: 'C',
link: function(scope, elem, attrs) {
scope.$on('event:auth-loginRequired', function() {
console.log('The Ferrari is to a Mini what AngularJS is to ... other JavaScript frameworks');
});
scope.$on('event:auth-loginConfirmed', function() {
console.log('The Ferrari is to a Mini what AngularJS is to ... other JavaScript frameworks');
});
}
};
});
しかし、これは理想的ではありません。
同じ機能に複数のイベントをバインドすることは可能ですか?
イベントの伝播とイベントIDに関する追加情報をありがとう、これを知って私はなぜ私が尋ねるものはネイティブに可能ではないことを理解しています。イベントには異なるリスナーがありますが、この1人のリスナーは複数のイベントで同じアクションを実行する必要があります。 –
考察の後、私はコードをもっと*角度*にリファクタリングしました。まだ2つのイベントがありますが、それらが異なるもの(リファクタリングで)を示すので、両方を同じ機能にバインドする理由はありません。ポインタをありがとう。 –
全く問題ありません。お役に立てて嬉しいです。 – testing123