【发布时间】:2014-08-06 08:54:32
【问题描述】:
我目前正在努力使用 Arraycontroller 及其模型。如果存储中的数据发生变化,它根本不会改变。特别是如果将记录附加到存储中,我希望处理这些条目的数组控制器与存储一起更新。我以为有一些数据绑定,但似乎根本没有。
假设我有这条路线:/#/institute/10/user-administration
研究所模型的样子
App.Institute = DS.Model.extend({
name: DS.attr('string'),
users: DS.hasMany('user', {async:true})
});
我就是这样设置Arraycontroller的模型的:
App.UserAdministrationRoute = Ember.Route.extend({
model : function() {
// get users from the current institute
return this.modelFor('institute').get("users").then(function(users) {
return users.filter(function(item, index, enumerable){
// filter anonymous dummy users
return item.get('name') != "~dummy~";
});
});
}
});
我在 UserAdministration-Controller 中做
App.UserAdministrationController = Ember.ArrayController.extend({
needs: ['institute'],
actions : {
createNewUser : function() {
var newUser = this.store.createRecord('User', {
role : 0
});
this.transitionToRoute('user-administration.edit', newUser);
}
}
});
在user-administration.edit 路径中,我用this.get('model').save(); 保存用户
但是 ArrayController 并没有更新存储中刚刚创建和保存的记录。
我想如果我将控制器模型连接到filter 上可能有一种方法,但是我将如何为定义 ArrayController 模型的方式定义过滤器。
感谢您对此的任何帮助。
【问题讨论】:
标签: ember.js model ember-data