我有一个通过 ClientsController 显示的客户端列表,其内容设置为 Client.find(),即 RecordArray。用户通过 ClientController 创建一个新客户端,其内容在路由处理程序中设置为 Client.createRecord()。
一切正常,但是,当用户填写客户端的创建表单时,客户端列表会更新为新的客户端记录,即在路由处理程序中创建的记录。
让 RecordArray/Store 在保存记录之前只知道新记录的最佳方法是什么?
更新:我最终根据对象状态过滤了列表
{{#unless item.isNew}} Display the list {{/unless}}
更新 - 2 这是使用过滤器的另一种方法,但是必须首先通过 find 方法加载商店, App.Client.find().filter() 的行为似乎与单独调用这两种方法的行为方式不同。
// Load the store first
App.Client.find();
var clients = App.Client.filter(function(client){
console.info(client.get('name') + ' ' + client.get('isNew'));
return !client.get('isNew');
});
controller.set('content',clients);