Ember Select由其他Ember填充选择不更新选择绑定

时间:2013-12-13 05:46:54

标签: javascript ember.js

我是Ember.js的新手,我正在试图弄清楚Select视图如何将他们的选择绑定到控制器。我有这个模板:

{{view Ember.Select
  contentBinding="content"
  selectionBinding="selectedCompany"
  optionLabelPath="content.name"}}


{{view Ember.Select
  contentBinding="selectedCompany.employees"
  selectionBinding="selectedEmployee"
  optionLabelPath="content.name"}} 


Employee: {{selectedEmployee.name}}
Age: {{selectedEmployee.age}}

我发现第二个选择会在selectedCompany更改时更新,但我无法在name中引用ageselectedEmployee的值,直到我更改第二个从物理上选择不同的值。

如何在首次选择更改时设置selectedEmployee,以便我可以使用它的值?

为了更清晰,我的工作代码为here

1 个答案:

答案 0 :(得分:1)

更改第二个选择框的内容并不会实际更改其选择。您必须手动执行此操作,例如通过向控制器添加以下方法

onChangeCompany : function() {
    if (!this.get('selectedCompany.employees').contains(this.get('selectedEmployee'))) {
      this.set('selectedEmployee', this.get('selectedCompany.employees').objectAt(0));
    }
}.observes('selectedCompany')

它需要一些非空和数组范围检查,但是完成工作 - 如果您选择一个员工然后更改公司,员工也会改变。