我有一种情况,当用户按下刷新按钮时,我希望重新加载模型。我以前已经用Ember-Model实现了这一点,但是,我们最近转移到了Ember-Data,并且在尝试从模型类运行任何方法时都会收到一个错误。任何帮助都将不胜感激。
单击按钮时出错:
Uncaught TypeError: Object [object Object] has no method 'reload'应用程序的结构:
App.ApplicationAdapter = DS.DjangoRESTAdapter.extend({
namespace: 'api/1'
});
App.SomeRoute = Ember.Route.extend({
model: function() {
return this.store.find('publishable');
},
});
App.SomeModel = DS.Model.extend({
title: attr(),
description: attr(),
authors: hasMany('author', { async: true }),
category: belongsTo('page', { async: true }),
published: attr(),
publish_from: attr(),
slug: attr(),
contentType: attr(),
});
App.SomeController = Ember.ArrayController.extend({
actions : {
reload: function(model) {
model.reload();
}
}
});
<div>
<span {{action reload model}} class="btn"></span>
</div>当我在控制器上的操作中记录this.get('model')时。我收到以下消息:
Class {type: function, content: (...), store: Class, isLoaded: true, isUpdating: false…}
__ember1390344611587: "ember592"
__ember1390344611587_meta: Object
_super: undefined
arrangedContent: (...)
content: (...)
get content: function () {
set content: function (value) {
isLoaded: true
isUpdating: false
store: Class
toString: function () { return ret; }
type: App.Publishable
__proto__: Object发布于 2014-01-21 23:08:57
reload存在于单个记录上,而不是记录数组上。
仅仅为了完成,重载也不存在于承诺上,如果您需要then(...)它才能获得真正的记录(异步关系是这样的)。
promise.then(function(record){
record.reload();
});https://stackoverflow.com/questions/21270557
复制相似问题