2014-04-24 4 views
3

내 EditorController와 뷰 초기화시 프로그래밍 방식으로 생성되는 구성 요소로 데이터 바인딩을 만드는 데 어려움을 겪고 있습니다. 내보기의 컨트롤러 "EditorController"와 "ColorPickerComponent"의 색상 속성에서 "activeColor"속성 사이의 바인딩을 만들고 싶습니다. 구성 요소 초기화에 다음 코드가 있는데 컨트롤러 색상이 표시되지만 제어기 속성에 바인딩되어 있지 않습니다. 값을 함께 바인딩하는 방법은 무엇입니까?Ember 구성 요소를 프로그래밍 방식으로 만들 때보기 컨트롤러와 구성 요소 사이에 Ember 데이터 바인딩을 만드는 방법

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

UPDATE 1

다음 코드를 사용하여 바인딩을 해결하기 위해 관리했습니다. 그러나 그것은 약간 개략적으로 보입니다. 이 작업을 수행하는 다른 알려진 방법이 있습니까? 이 http://jsfiddle.net/YGNG4/3/

+0

'parentController'는 실제 이름이 아닙니다. 거기에는 거의 모든 이름을 넣을 수 있었고, la, http://jsfiddle.net/YGNG4/4/, 아래에 답을 적어두고 수락 된 것으로 표시해 주시겠습니까? 감사합니다! – Kingpin2k

답변

0

덕분에 깨끗한 솔루션을 제공 @ #emberjs alexspeller

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

업데이트 2

감사합니다,이 http://jsfiddle.net/YGNG4/3/

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

및 kingpin2k에 깨끗한 솔루션을 제공 alexspeller parentController가 실제 진짜 또는 엠버 명명 규칙이 아니라는 것을 지적하기 위해, 그것은 el로 설정 될 수있다. se.

관련 문제