如果hasMany不存在,则刷新模型
Model refresh if hasMany does not exist
信息
所以我设置了类似的东西
category
posts: hasMany {async: true}
现在我有很多类别。
我从服务器请求所有类别。在响应中,我不包括posts
字段,因为我需要向服务器查询与该类别相关的帖子的所有id。为了让我的反应变成这样:
categories: [{ other fields...., posts: [1,2,4,54,5]}, .... ]
不管怎样,我有另一条特定类别的路线。为此,我查询了帖子,并将其包含在回复中。
然而,如果我来自列出所有类别的路线。那个特定类别已经加载到存储中,所以它不会查询它。问题是它没有帖子数据。
问题
如何检查响应中是否存在字段,然后进行模型刷新以获得正确的数据。
由于您的hasMany关系是async
,Ember Data在发出category.get('posts')
或尝试呈现类别之前不会查询/posts
端点的相关帖子。
始终包括帖子ID
Ember Data以这种方式处理其余部分。
必要时合并posts
字段
查看商店#更新
每当你有帖子ID
store.update('category', {id: categoryID, posts: [postIDs]})`
检查类别是否有任何帖子以及是否没有重新加载
检查posts
关联是否为空
category.get('posts').then(function(posts){
posts.get('length') > 0;
});
并重新加载
category.get('posts').then(function(posts){
if(posts.get('length') > 0){
store.find('category', category.get('id'));
}
});
相关文章:
- 单击时角度刷新模型
- 在 ASP 中请求后刷新模型.MVC
- Ember数据:在DS.Store.createRecord上刷新模型
- 如何使用映射插件刷新挖空视图模型
- 余烬需要刷新浏览器才能获取模型数据
- Ember JS - 从路由操作更新/刷新模型数据
- 刷新过滤器(在项目上),而不更改 ng 重复模型
- 在挖空.js中删除数据后刷新视图模型
- 刷新视图模型和 AJAX 调用后的视图
- 检测视图模型属性是否在不刷新的情况下发生更改
- 在模型更改时刷新 Dojo MVC 组不适用于复杂对象
- Knockoutjs的日期时间字段更新不会刷新模型视图
- 当模型在jQuery事件中发生改变时,Angular 2不会刷新视图
- Backbonejs:模型获取意味着模型未“刷新”
- AngularJS在模型因事件而改变后不刷新视图
- 烬刷新模型从当前路线
- 如果hasMany不存在,则刷新模型
- 如何在使用主干调用save时刷新模型的属性
- Ember.js 路由:查询参数上的“刷新模型:true”,而不更新子路由模型
- 单击按钮时刷新模型