我有一个带有国家/地区过滤器的用户搜索表单。选择菜单中的国家/地区(下拉列表)与ember-data异步加载。所选国家/地区绑定到查询参数:
https://myapp.com/users?country=123
/users?country=undefined
模板:
{{view "select"
content=countries
value=country
optionLabelPath="content.name"
optionValuePath="content.id"}}
控制器:
export default Ember.Controller.extend({
countries: Ember.computed(function () {
return this.store.find('country');
}),
country: null,
queryParams: ['country'],
});
路线:
export default Ember.Route.extend({
model: function (params) {
return this.store.find('user', params);
}
});
有什么建议吗?谢谢! :)
答案 0 :(得分:3)
我太近了!看起来我加载的国家太晚了,因此select没有数据与查询参数匹配。
我刚刚移动了加载model
钩子中的国家/地区的代码:
model: function (params) {
return Ember.RSVP.hash({
users: this.store.find('user', params),
// Pre-load the countries so the queryParams binding
// with the select menu work properly
countries: this.store.find('countries')
});
},
现在我已经找到了解决方案,这似乎很明显!