Ember.js createRecord可能未启动
Ember.js createRecord possibly not firing
我有一个应用程序,它将用户的搜索条件保存在localStorage中,其中每个保存的搜索都表示为Ember.js模型的一个实例:
Checklist.SavedSearch = DS.Model.extend({
id: DS.attr('string'),
filters: DS.attr('string')
});
当按下"保存"按钮时,控制器会创建一个实例化的模型并为其创建一个记录:
Checklist.savedSearchController = Ember.ArrayController.create({
[..]
save: function(view) {
var saved_seach = Checklist.SavedSearch.createRecord({
id: 'abcd',
filters: '<json>'
});
Checklist.local_store.commit();
}
});
Checklist.local_store
是我创建的一个适配器(这可能是问题的开始),它有一个基本接口,可以将createRecord
、updateRecord
等映射到一组使用localStorage的get/set方法(松散地基于成员数据的github分支)。对于一些基本测试,该适配器似乎工作得很好,尤其是findAll
没有问题,并返回手动添加到localStorage的值。
以下是Checklist.local_store
:中的相关方法
createRecord: function(store, type, model) {
model.set('id', this.storage.generateId);
var item = model.toJSON({associations: true});
this.storage.setById(this.storage_method, type, id, item);
store.didCreateRecord(model, item);
}
问题是,当控制器调用createRecord
时,绝对不会发生任何事情。通过调试器运行它,并将其记录到控制台,似乎表明根本没有调用该方法。我想这是我对Ember.js应该如何工作的误解。我很感激你能解释为什么会发生这种事。
我来自ruby和php背景,可能愚蠢地直接进入了JS框架,所以欢迎对代码风格、结构和任何一般内容发表任何其他评论。
Ember Data不会更改控制器上的createRecord
,因此其行为不会有任何不同。过去可能有与此相关的事情,但现在肯定不是这样了。
相关文章:
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- spine.js在启动时填充模型实例
- 为什么我的控制器没有启动函数.js脚本
- 事件侦听器未在chrome扩展中的options.js中启动
- 如何将.json文件作为参数导入.js文件并使用命令行启动它
- 当元素在屏幕中占60%时,WOW.js启动动画
- 如何在单击按钮时使用instantsearch.js启动搜索
- Node.js应用程序-由NPM启动时的不同Node_ENV
- 在运行时启动jquery-ui.toggleSwitch.js切换开关
- FB.Event.subscribe auth.statusChange未在Angular JS中启动
- JS:Onchange事件在启动时激活
- 在Chrome和Safari中启动Angular JS应用程序的差异
- 我在启动我的节点时遇到问题.js IRC 机器人
- SetInterval赢得't立即启动JS
- 在提交远程引导模式rails表单之前启动js
- 单击时为具有相同id的多个元素启动js函数
- 如何设置服务器启动js文件的搜索路径
- Vertx.从Java服务器启动JS Verticle
- 防止显示以编程方式附加的HTML对象,直到对象启动JS完成
- 如何在附加事件之前启动js代码