Ember JS - 从路由操作更新/刷新模型数据

6

这似乎是一个非常简单的问题,但我找不到任何解决方案。我想从操作中刷新unprocessedDailyDataFile数据。我可以通过modelFor()方法获取模型。但是当我尝试使用get()set()方法与模型一起使用时,它们会失败并显示未定义。

路由代码

App.AdminRoute = Ember.Route.extend({
    model: function(){
        return {
            companies: this.store.find('company'),
            unprocessedDailyDataFiles: this.store.find('unprocessedDailyDataFile')
        };
    },
    actions: {
        reloadUnprocessedDailyDataFile: function(){
            var model = this.modelFor('admin');
            // both properties from the model is accessible here
            // model.get() fails
            // model.set() fails
        }
    }
});

为什么不直接调用.reload()呢? - Patsy Issa
reload() 也失败了,因为它未定义。 - Sisir
1个回答

1

要重新加载模型,您可以使用以下代码:

actions: {
           reloadUnprocessedDailyDataFile: function(){

               let  model =  this.get('controller.model'); // for Get and Set
               model.get('name'); 
               model.set({ name: 'john'});
    }
}

如果您想手动刷新您的模型,则必须在操作方法内使用this.refresh();。 - siva - abc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接