使用refreshModel加载模型钩子

时间:2017-06-05 13:32:25

标签: ember.js

我的Route目前看起来像是:

export default Ember.Route.extend({
    queryParams: {
        dateFrom: { refreshModel: true },
        dateTo: { refreshModel: true }
    },

    model(params) {
        return this.store.findRecord('foo', params.id, {
            adapterOptions: {
                filter: {
                    dateFrom: params.dateFrom,
                    dateTo: params.dateTo,
                }
            }
        });
    },
});

当在路径上更改查询参数时,将再次触发模型挂钩。有没有办法告诉模型挂钩是否处于加载状态?我在模板中尝试了model.isLoading,但在触发refreshModel时似乎没有更新。

我不想使用加载子状态,因为我需要一个可以传递给组件的属性。

1 个答案:

答案 0 :(得分:0)

我不确定这种方法,但你仍然可以在路线内尝试,

actions: {
        loading(transition, originRoute) {
            //if you want to set controller property, this.controller.set('isLoading',true); will do
            this.set('isLoading',true);          
            transition.promise.finally(() => {
               this.set('isLoading',false);                   
            });
            return true;
        }
    }