首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行类方法时,Ember.js抛出“无方法”错误

运行类方法时,Ember.js抛出“无方法”错误
EN

Stack Overflow用户
提问于 2014-01-21 22:39:55
回答 1查看 115关注 0票数 2

我有一种情况,当用户按下刷新按钮时,我希望重新加载模型。我以前已经用Ember-Model实现了这一点,但是,我们最近转移到了Ember-Data,并且在尝试从模型类运行任何方法时都会收到一个错误。任何帮助都将不胜感激。

单击按钮时出错:

代码语言:javascript
复制
Uncaught TypeError: Object [object Object] has no method 'reload'

应用程序的结构:

代码语言:javascript
复制
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')时。我收到以下消息:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-21 23:08:57

reload存在于单个记录上,而不是记录数组上。

仅仅为了完成,重载也不存在于承诺上,如果您需要then(...)它才能获得真正的记录(异步关系是这样的)。

代码语言:javascript
复制
promise.then(function(record){
  record.reload();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21270557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档