【发布时间】:2015-05-10 02:57:28
【问题描述】:
当我的路线模型使用this.store.find('user') 时,它会自动更新,并且模板会显示使用createRecord 创建的新记录。因此,以下工作按预期工作:
路线:
model: function(){
return this.store.find('user');
}
模板:
{{#each user in model}}
{{user.username}}<br>
{{/each}}
控制器代码:
// Triggered when form submitted to create a new user
var newUser = this.store.createRecord('user', {
username: this.get('username').trim()
});
// new user shows up in template immediately after createRecord
如果我将路由模型更改为使用find 的查询参数版本,则在我执行createRecord 时模板不再更新
路线:
model: function(){
// query params version of store.find
return this.store.find('user', {enabledOnly: false, limit: 100});
}
控制器代码:
// Triggered when form submitted to create a new user
var newUser = this.store.createRecord('user', {
username: this.get('username').trim()
});
// new user does not show up in template at all
这似乎是一个错误,因为代码中的唯一变化是从基本的find('user') 切换到具有查询参数的版本。这是 ember 数据的预期行为吗?为什么在使用 find 的查询参数版本时调用createRecord 后模型不更新模板(即find('user', {}))
我能够创建一个 jsbin 来演示该问题。
谢谢!
我正在使用以下版本:
DEBUG: -------------------------------
ember.debug.js:5197DEBUG: Ember : 1.11.1
ember.debug.js:5197DEBUG: Ember Data : 1.0.0-beta.16.1
ember.debug.js:5197DEBUG: jQuery : 1.11.3
ember.debug.js:5197DEBUG: Ember Simple Auth : 0.8.0-beta.2
ember.debug.js:5197DEBUG: -------------------------------
【问题讨论】:
标签: ember.js ember-data