我们检测到一个奇怪的情况,有时angularJS无法更新绑定值。目前我们知道如何解决方法,但不知道为什么会发生这种故障。
有没有人有胶水有缺陷的版本有什么问题?
常见:
app.factory("DATASOURCE", ["$resource", function ($resource) {
return $resource(URL);
}]);
...
var self = this; // effective $scope
self.service = DATASOURCE;
缺陷版本
var self = this;
self.objectRequest = self.service.get();
self.objectRequest.$promise.then(function(pRes) {
self.objectTree = pRes; // resolve or not 8-(
})
此版本第一次按预期工作。以下调用有时会显示出奇怪的行为:
pRes有新值(使用调试器检查),但是, 绑定值仍显示先前的状态
{{objectTree.head}}
调试器既不报告故障也不报告异常
以后的调用可能会更新绑定值。
解决方法:
var self = this;
self.objectRequest = self.service.get();
self.objectRequest.$promise.then(function(pRes) {
self.objectTree.head = pRes.head; // resolve
self.objectTree.table = pRes.table; // resolve
self.objectTree.messages = pRes.messages; // resolve
})
我们想了解(g)上的内容(wr)。