我正在尝试更新多个组件的视图。出于这个原因,我正在使用广播。如果我使用我的代码而不使用$ 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