ember model.reload()不是函数?

Tom*_*ike 7 model ember.js

我想在我的控制器中重新加载我的模型,然后从这里读取文档

所以我定义了动作:在我的控制器中重新加载并路由两者,例如:

 reload:function(){
     this.get('model').reload();
   }
Run Code Online (Sandbox Code Playgroud)

当我触发动作使用时this.send('reload'),它出现错误this.get(...).reload is not a function,所以我误解了文档?

Jav*_*ock 8

检查您的模型不是集合.您只能重新加载记录.如果您的模型是集合,则应执行以下操作:

reload:function(){
     this.get('model').forEach(function(record){
        record.reload();
     });

   }
Run Code Online (Sandbox Code Playgroud)


Aki*_*kis 1

尝试这个:

import Ember from 'ember';

export default Ember.Route.extend({
 actions: {
 reload: function() {
   this.controller.get('model').reload().then(function(model) {
     // do something with the reloaded model
   });
  }
 }
});
Run Code Online (Sandbox Code Playgroud)

在你的控制器中:

import Ember from 'ember';

export default Ember.Controller.extend({
 actions: {
  reload_model: function() {
     this.send('reload');
   }
  }
});
Run Code Online (Sandbox Code Playgroud)