Ember.js Emberjs-自定义适配器
我刚刚进入Ember中适配器的世界,我想创建一个自定义适配器,将一些数据保存到webSQL数据库中,以便兼容浏览器 这看起来可能很简单,但我还停留在这个过程的开始 我有一个单独的文件:Ember.js Emberjs-自定义适配器,ember.js,Ember.js,我刚刚进入Ember中适配器的世界,我想创建一个自定义适配器,将一些数据保存到webSQL数据库中,以便兼容浏览器 这看起来可能很简单,但我还停留在这个过程的开始 我有一个单独的文件: DS.WebSQLAdapter = DS.Adapter.extend({ dbName: 'testDb', dbVersion: '1.0', dbDisplayName: 'Test Db', dbSize: (2 * 1024 * 1024), init: fu
DS.WebSQLAdapter = DS.Adapter.extend({
dbName: 'testDb',
dbVersion: '1.0',
dbDisplayName: 'Test Db',
dbSize: (2 * 1024 * 1024),
init: function() {
this.db = cont.openDatabase( this.dbName, this.dbVersion, this.dbDisplayName, this.dbSize );
},
createRecord: function( store, type, query, recordArray ) {
console.log(data);
}
})
在my app.js文件中:
window.App = Ember.Application.create({});
App.ApplicationAdapter = DS.WebSQLAdapter;
当我在控制器中执行此操作时:
App.ApplicationController = Ember.ArrayController.extend({
actions: {
myAction: function() {
this.store.createRecord('someDB', {key: 'test', title: 'myTitle'});
}
}
})
它说它找不到模型
someDB
。。即使使用websql获取数据,我是否也需要为适配器创建模型 它告诉你,SomeDB
不存在。Ember希望您的代码中有以下内容:
App.SomeDB = DS.Model.extend({});
如果不声明
SomeDB
模型,则无法创建该类型的新记录。(至少不使用余烬数据存储。)太好了,现在可以正常工作了。但是当我使用createRecord时,它似乎没有使用我的适配器。。但是它正确地使用存储。createRecord()
只创建客户端记录,因此它不会接触适配器。您必须在记录上调用save()
,它才能持久保存到服务器并使用适配器。