如果动作 emberjs 2x,如何重新加载模型

How reload a model if a action emberjs 2x

我需要在操作后重新加载模型。查看文档我看到了这个 http://emberjs.com/api/data/classes/DS.Model.html#method_reload

但是当我调用 reload 时,我收到 this.controller.get(...).reload 不是函数。如果发生此错误,如何重新加载模型?

model() {
    return this.store.peekAll('place');
},
actions: {
    reload() {
        this.controller.get('model').reload().then(function(model) {
            console.log(model);
        })
    },
}

您的问题是 peekAll() 方法 returns 一个过滤数组,其中包含商店中给定类型的所有已知记录。

所以你不能在过滤后的数组上调用 reload,只有当你有一条记录(模型实例)通过 peekRecord(type, recordId);

获取时才能调用