我有这个:
App.LoginRegisterController = Ember.ObjectController.extend({
init: function () {
this.set('products', this.store.find('product'));
},
subscriptionOptions: function () {
return this.get('products').map(function (product) {
return {id: product.id, title: product.title};
});
}.property('products')
});
然后在我的模板中:
{{view "Ember.Select"
content=subscriptionOptions
optionValuePath='content.id'
optionLabelPath='content.title'}}
但是,仅在填充products
之前调用一次subscriptionOptions。如果我将模板更改为:
{{view "Ember.Select"
content=products
optionValuePath='content.id'
optionLabelPath='content.title'}}
数据填充正确,但我需要在与任何模型相关的选择中插入一个选项,因此我需要用引用填充它。如何将选择从subscriptionOptions
更新为products
更改?
答案 0 :(得分:0)
啊,我需要在属性上使用@each
,并在访问标题时使用get()
以便正确显示。
App.LoginRegisterController = Ember.ObjectController.extend({
init: function () {
this.set('products', this.store.find('product'));
},
subscriptionOptions: function () {
return this.get('products').map(function (product) {
return {id: product.get('id'), title: product.get('title')};
});
}.property('products.@each')
});