如何从ember中的记录中获取我的选择视图的内容?

时间:2014-12-25 16:25:11

标签: ember.js

我有这个:

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更改?

1 个答案:

答案 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')
});