如何以编程方式创建Ember组件时,在视图控制器和组件之间创建ember数据绑定

时间:2014-04-24 12:09:17

标签: ember.js

我正在努力与我的EditorController创建数据绑定,以及在视图初始化时以编程方式创建的组件。我想在" activeColor"之间创建一个绑定。我视图的控制器" EditorController"和我的" ColorPickerComponent"的颜色属性。 我已经为我的组件初始化获得了以下代码,它显示了控制器颜色,但它无论如何都没有绑定到控制器属性。如何将值绑定在一起?

App.SidebarView = Ember.ContainerView.extend
  init: ->
    @_super()
    controller = @get('controller')
    @pushObject(App.ColorPickerComponent.create({color: controller.get('activeColor') }))

更新1

我已设法使用以下代码解决绑定问题。然而,它似乎有点粗略。还有其他已知方法吗?

App.SidebarView = Ember.ContainerView.extend
  init: ->
  @_super()
  @pushObject(App.ColorPickerComponent.create({colorBinding: '_parentView.context.activeColor' }))

更新2

感谢alexspeller @ #emberjs为此http://jsfiddle.net/YGNG4/3/提供了一个干净的解决方案

1 个答案:

答案 0 :(得分:0)

谢谢,alexspeller为这个http://jsfiddle.net/YGNG4/3/

提供了一个干净的解决方案
App.SidebarView = Ember.ContainerView.extend
  init: ->
    @_super()
    controller = @get('controller')
    @pushObject(App.ColorPickerComponent.create({parentController: controller}))

和kingpin2k指出parentController不是真实的东西或者是一个ember命名约定,它可以设置为其他任何东西。