在我的应用程序中,我有一条路线,我使用queryParams过滤数组。当我向数组中添加一个符合过滤条件的新项目时,模板不会使用新项目进行更新。
http://emberjs.jsbin.com/qetami/1#/colors?type=secondary
上的超级简单示例bin在该示例中,在过滤为辅助颜色时,单击“添加颜色”按钮并添加颜色类型设置为辅助颜色的新颜色。颜色不会立即出现。如果您更改过滤器,则返回到它出现的辅助过滤器。在未过滤/默认路线上时会自动显示。
我已尝试使用queryParams
路径中的Colors
挂钩,但没有运气。
这似乎应该是直截了当但我碰到了一堵墙。
答案 0 :(得分:2)
我真的无法使用.observes(),但是如果你利用通过路线冒泡的动作,我想出了你的例子的工作版本,这样你就可以很好地调用this.refresh()为了重新加载过滤后的模型。
http://jsbin.com/qomiba/3/edit
旁注,我发现在不同的地方提到“颜色”意味着不同的事情让我感到困惑。
答案 1 :(得分:0)
这将卸载搜索到服务器的所有可能记录, 同时仍然创建包含记录的实时更新列表 在客户端上创建和修改。
App.PostsFavoritedRoute = Ember.Route.extend({
model: function() {
var store = this.store;
// Create a filter for all favorited posts that will be displayed in
// the template. Any favorited posts that are already in the store
// will be displayed immediately;
// Kick off a query to the server for all posts that
// the user has favorited. As results from the query are
// returned from the server, they will also begin to appear.
return store.filter('post', { favorited: true }, function(post) {
return post.get('isFavorited');
});
}
});