【发布时间】:2013-08-13 13:37:13
【问题描述】:
我正在测试我的应用程序,所以我正在执行以下操作:
- 我显示了一个索引视图 (
#/locators/index),其中包含Locator对象,我最初使用App.Locator.find();加载它 - 我手动修改后端
- 手动(使用按钮/操作)我触发了 ember 前端中数据的刷新,而不更改路由。我用
App.Locator.find().then(function(recordArray) {recordArray.update();});做到这一点。我通过控制台日志看到一个列表请求被发送到后端,并且收到了最新数据。我假设这是用来更新商店的。 - 但是:视图不会自行更新以显示这些新数据
为什么当商店收到新数据时视图没有自动更新?这不就是 Ember 中数据绑定的重点吗?
如果我现在执行以下操作:
- 打开任何其他路线
- 返回定位器索引路线 (
#/locators/index) - Ember 发送新请求以列出定位器
- 显示索引视图,其中包含正确的数据(因为它已经在商店中了?)
- 收到新数据
(我不能 100% 确定 4 和 5 会按此顺序发生,但我很确定)
因此,我的印象是数据在商店中已正确更新,但不知何故需要对视图进行完全重新渲染才能显示这些新数据,例如通过离开和重新进入路线。这是真的?我可以以编程方式强制重新渲染吗?
【问题讨论】:
标签: ember.js ember-data