Angular有时会错过更新绑定值

时间:2015-09-28 08:01:41

标签: angularjs

我们检测到一个奇怪的情况,有时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)。

0 个答案:

没有答案