gpt4 book ai didi

javascript - Ember JS - 在加载路由后获取记录时更新模型属性

转载 作者:行者123 更新时间:2023-11-30 21:05:15 26 4
gpt4 key购买 nike

假设我的 route 有以下代码:

model() {
return this.get('store').query('post', { author: 'John' });
},

actions: {
fetchNewPosts: function() {
this.get('store').query('post', { author: 'Sally' });
}
}

然后组件中的以下内容:

modelSubset: function() {
return this.get('model').slice(0, 10);
}.property('model', 'model.@each'),

组件中的计算属性会在输入路由时正常更新,作者“John”的帖子会在模型 Hook 中获取。

但是,如果我稍后触发操作 fetchNewPosts,记录将被提取并添加到 Ember 数据中,但组件中的计算属性不会更新。

有没有办法获取新记录以便更新模型属性?

最佳答案

kumkanillam 所述,我需要使用查询参数来实现这一点。以下是我的新模式:

在 Controller 中将“author”定义为查询参数。

queryParams: ['author',],
author: "John",

在路由的模型钩子(Hook)中,params.author 从 Controller 中获取值。在 fetchJobs 操作中,我使用 transitionTo 更新查询参数。

model(params) {
return this.get('store').query('posts', { author: params.author });
},

actions: {
fetchJobs: function(authorName) {
this.transitionTo({ queryParams: { author: authorName }});
}
},

下面的代码会导致模型在查询参数更改时更新。

queryParams: {
author: {
refreshModel: true
}
}

关于javascript - Ember JS - 在加载路由后获取记录时更新模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46711954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com