我正在嘗試更新多個組件的視圖。出於這個原因,我正在使用廣播。如果我使用我的代碼而不使用$ apply(),則視圖不會更新。如果我在多個視圖中使用apply,我正在'[$ rootScope:inprog] $ apply already progress'錯誤。更新多個視圖
更改代碼
service.prototype.setNewTopic = function (topic) {
var self = this;
var promise = $http(
{
method: 'POST',
url: self.baseUrl + 'Admin/setNewTopic',
contentType: 'application/json',
data: {
topicName: topic
}
});
return promise;
}
這並不是真的很清楚你在嘗試什麼o從這個片段中完成,但它*看起來像*您試圖廣播並讓每個組件都獲得數據以響應廣播。這看起來效率不高,但數據絕對應該在不使用'$ scope。$ apply()'的情況下更新。這**感覺像** [XY問題](https://meta.stackexchange.com/a/66378/297619)。你應該詢問爲什麼你的數據沒有在第一時間更新,而不是爲什麼'$ scope。$ apply()'不起作用。換句話說,顯示你的組件和它的視圖[mcve]。 – Claies
謝謝。如果這種接縫效率低下,可否請您指出我更有效的方式 – user6934713
不是沒有看到*你實際想要做什麼*的例子,沒有。 – Claies