0
角社區不鼓勵使用$廣播,所以我試圖找到替代方法。需要對這種做法的有效性提出建議。
var deffered = $q.defer();
var getPromise = function() {
return deffered.promise;
};
var notify = function() {
deffered.notify('Hello');
};
var listenToNotification = function() {
getPromise().then({}, {}, function (data) {
console.log(data);
});
};
在
var notify = function() {
$scope.$broadcast('someEvent', 'Hello');
};
var listenToNotification = function() {
$scope.$on('someEvent', function (event, data) {
console.log(data);
});
};
我不知道你有什麼印象,「角社區不鼓勵使用'$廣播'」。使用'$ broadcast'沒有任何問題,問題是人們在沒有必要的地方使用它。不幸的是,這也是你的問題難以提供答案的原因,因爲你沒有提供任何關於嘗試通知任何事情的實際目的的上下文。 – Claies
我正在使用的代碼高度模塊化。如果用戶在其他模塊上執行任何操作,則需要通知一個模塊。就像用戶打開任何彈出窗口一樣,我需要在後臺暫停視頻。 –
對,這似乎是'$ broadcast'的合理使用。雖然我不確定爲該場景創建一個使用承諾是否有意義。 – Claies