gpt4 book ai didi

javascript - Ember Data Adapter throws 没有方法 'updateRecord' 即使实现了 updateRecord 函数?

转载 作者:行者123 更新时间:2023-11-29 18:26:34 25 4
gpt4 key购买 nike

我正在为 Ember 数据推出自己的适配器。长话短说,当我调用 App.store.updateRecord(App.Model, id ) 时出现此错误:

Uncaught TypeError: Object <DS.Store:ember195> has no method 'updateRecord'

即使实现了 updateRecord 函数。

下面的示例代码(为了清楚起见,我将所有函数记录到控制台而不是做他们应该做的事情)

// declare application namespace
App = Ember.Application.create();

// instantiate store
App.store = DS.Store.create({
revision: 2,
adapter: DS.LocalStorageAdapter.create(),
});

// implement adapter
DS.LocalStorageAdapter = DS.Adapter.extend({

createRecord: function(store, type, model) {
console.log('createRecord: ', type, model);

},


updateRecord: function(store, type, model) {
console.log('updateRecord: ', type, model);

},

find: function(store, type, id) {
console.log('find: ', type, id);

},

localStorage: {
set: function( ModelTyp, value ){},

get: function( ModelType ){},
}

});

// create model
App.StyleData = DS.Model.extend({

css_name: DS.attr('string', {key: 'css_name'}),
storageID: DS.attr('number', {defaultValue: 0, key: 'storageID'}),

});

// ==========================================================================
// Test Application
// ==========================================================================


App.store.createRecord(App.StyleData, { css_name: 'name' });
App.store.commit()
//console: createRecord: App.StyleData, model

App.store.find(App.StyleData, 0)
//console: find: App.StyleData, 0

App.store.updateRecord(App.StyleData, { css_name: 'new name' });
//console: Uncaught TypeError: Object <DS.Store:ember195> has no method 'updateRecord'

我几乎无计可施,因为我无法弄清楚引擎盖下发生了什么。

最佳答案

我曾一度处于相同的位置,因为存储方法(createRecorddeleteRecordfind 等)之间的概念差异) 并且适配器的方法似乎并没有在可用文档中真正明确。

至于updateRecord,商店没有。要更新,您只需.set Model 中的值并运行App.store.commit()。这将调用适配器的 updateRecord

关于javascript - Ember Data Adapter throws 没有方法 'updateRecord' 即使实现了 updateRecord 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12517899/

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