gpt4 book ai didi

ember.js - findAll()与findQuery()中的deleteRecord

转载 作者:行者123 更新时间:2023-12-02 06:04:35 25 4
gpt4 key购买 nike

我只是遇到以下问题:在ArrayController中的模型上调用deleteRecord()时,该模型的content是使用findQuery(<model name>, {})在路由中设置的,即使ArrayController成功,也不会从deleteRecord中删除该模型(并且我调用save来保持操作)。但是,当我将其切换为findAll()时,一切都按预期工作。有什么想法为什么会这样?

我正在使用Ember 1.4.0-beta.1 + canary.4ffecd62和Ember Data 1.0.0-beta.4 + canary.7af6fcb0。

最佳答案

find('type', {}) / findQuery('type', {})创建一个RecordArray。 findAll('type') / find('type')实际上返回一个实时RecordArray,其中包含商店中的所有当前记录。

为了更全面地了解这一点,商店all / filter上还有另外两个方法返回Live RecordArrays,但它们不对服务器进行任何记录调用。您可以将findAll('type') / find('type')视为先调用服务器然后再调用all方法的方法。

如果您愿意,可以根据findQuery的结果创建过滤器,以作弊并获得类似的效果。

  model: function() {
return this.get('store').find('color', {dummy:'data'});
},
setupController:function(controller, model){
var filter = this.store.filter('color', function(color){
return model.contains(color);
});

this._super(controller, filter);
},

http://emberjs.jsbin.com/OxIDiVU/114/edit

关于ember.js - findAll()与findQuery()中的deleteRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20957870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com