Ember数据首先从存储获取记录,而不是使用param从API获取记录
Ember Data Get Record From Store First Rather than API with param
我正试图在ember-cli应用程序中基于slug而不是路由中的id加载一些数据。我已经创建了一个路由,slug参数被正确地传递到模型挂钩,并且我已经在存储中有了记录数据,因为一些数据在初始化时会被引导到应用程序中。然而,商店总是关注api路由,而不仅仅是获取本地版本。我该如何防止这种情况发生?
router.js
this.resource('vendor', {path: '/:slug'}, function () {
this.resource('category', {path: '/:vendor_id/categories/:category_id'});
this.resource('product', {path: '/:vendor_id/products/:product_id'});
});
routes/vendor.js
export default Ember.Route.extend({
model: function(params) {
return this.store.query('vendor', {slug: params.slug});
}
});
然后在控制台中,我可以看到api调用被触发到
http://localhost:4200/api/vendors?slug={slug from params} 404 (Not Found)
我确实计划构建这个端点,但我很好奇为什么当我可以看到ember存储中的数据时,它会查看API。
您正在查找store.filter
,但没有会触发网络调用的query
参数。
export default Ember.Route.extend({
model: function(params) {
return this.store.filter('vendor', function(vendor) {
return vendor.get('slug') === params.slug;
});
}
});
顺便说一句,这将使用与过滤器匹配的新记录来更新模型,无论它们可能被添加到存储中。
相关文章:
- 将一个表的id与另一个表中的user_id进行匹配,以获取mysql中的记录
- 正在获取错误:'没有找到monkeyID为“”的按钮;LOGIN”;记录
- 如何加速ajax调用以从php文件中获取记录
- 从开始到结束的数字记录json中获取记录
- 如何使用nlapiLoadRecord获取记录类型
- 根据用户在边栏中的选择获取记录
- 谷歌电子表格 - 从Zoho获取记录
- 使用1个HTML表单:要求用户提供唯一标识符,从数据库中获取记录,解析为JSON,使用jquery填充插件填充HTML页
- 如何在ExtJS存储中获取记录的预排序索引
- 我需要从一个表中获取记录,其中列值将以“某个值”开头并以“另一个某个值”结尾
- EXTJS 3.4如何在选择更改时获取记录数据视图
- 使用相对时间间隔条件获取记录
- 从表中获取记录
- 使用javascript函数在json对象中获取记录需要更多时间
- 如果使用laravel框架,如何在javascript或ajax中传递用户id以从数据库中获取记录
- 多维数组-用于获取记录信息的javascript while循环
- Ember数据首先从存储获取记录,而不是使用param从API获取记录
- 合金用户界面 - 更新后获取记录
- 在保存操作之前获取记录's指南
- 如何在不知道键名的情况下从对象获取记录