Ember.js 切换同级项控制器属性

Ember.js 切换同级项控制器属性,ember.js,controller,Ember.js,Controller,我正在尝试切换同级项控制器上的属性。根据我所读的内容,我需要遍历父控制器,然后为每个项控制器设置属性 在下面的示例中,当用户单击某个食物项目时,它会展开类型。然后,我希望它在所有同级项控制器上切换“不透明度”属性 App.IndexController = Ember.ArrayController.extend({ itemController: 'type', actions: { unselectedOpacity: function(t){ // s

我正在尝试切换同级项控制器上的属性。根据我所读的内容,我需要遍历父控制器,然后为每个项控制器设置属性

在下面的示例中,当用户单击某个食物项目时,它会展开类型。然后,我希望它在所有同级项控制器上切换“不透明度”属性

App.IndexController = Ember.ArrayController.extend({
  itemController: 'type',

  actions: {
      unselectedOpacity: function(t){
        // select children controller
        // except for clicked item
        // set 'opacity' property
      }
  }
})

App.TypeController = Ember.ObjectController.extend({
  show: false,

  actions: {
   showit: function(){
      this.toggleProperty('show')

      this.get('parentController').send('unselectedOpacity', this)
    }
  }
})

实际代码打开。

我设法找到了它-我可以在控制器中使用this.setEach

我认为我对最初的问题措辞不太好。我所寻找的是一种同时更改同级控制器和当前控制器属性的方法


-不过我还是要清理代码

我的问题的可能重复之处在于切换每个项目控制器上的属性,而不必进行类绑定。它仍然适用,您可以在视图中更改模型的属性,示例使用类,但其背后的逻辑相同。只有选定类型的属性为true,而其他类型的属性为false。阵列控制器实际上没有访问ItemController的权限。您可以尝试使用需求,但这不是很好。