2014-11-26 2 views
2

중첩 된 구성 요소 동작의 내용을 컨트롤러로 보낸 다음 라우팅 할 때 문제가 발생합니다.Ember 중첩 된 구성 요소 동작이 버블 링되지 않음

그러나 중첩 된 콘텐츠가 생성되지 않은 경우 작업을 아버지 구성 요소에서 처리 할 수 ​​있으며 상위 구성 요소 템플릿의 컨트롤러와 루트를 통해 위로 올라가지 않습니다. 또한 아버지 구성 요소에 의해 처리되지 않으면 아무것도 던지지 않습니다. 어떻게 foo는-BIZ에서 응용 프로그램 컨트롤러와 경로에 대한 작업을 보낼 수 있습니다

희망 this bin

질문이 명확하게 할 것인가?

답변

10

을하고 난 Ember 버전 (Ember-2.2)을 사용하고 있습니다. 어쨌든, 나는 구성 요소의 hbs에 포함 된 html 요소 중 하나에 행복하게 붙은 동적으로 명명 된 동작을 허용하는 구성 요소를 만든 상황이있었습니다.

{{some-component actionName="doThis" ...}} 

... 그리고 some-component.hbs은 다음과 같습니다

어쨌든
<button type="button" {{action actionName}}>The doThis Button</button> 
<p>Yadda Yadda Yadda</p> 
<p>Yadda Yadda Yadda</p> 

, 내 기대는 것이 나의 행동 호출까지 내 컨트롤러 나는이 문제를 처리 할 수있는 노선 doThis 것 거품 내 응용 프로그램 전체에서 내 구성 요소를 재사용 할 수 있습니다.

현재 내 수정 프로그램은 target=thissome-component에 전달합니다. 이로 인해 내 doThis 동작이 컨트롤러와 라우트에 버블 링됩니다. 나는 진정이이 문제를 해결하는 올바른 방법이라고 생각하지 않는

{{some-component actionName="doThis" target=this ...}} 

, 내 순진 솔루션을 용서하지만,이 순간을 위해 일하고 저를 가지고있다. 새로운 발견으로 업데이트하겠습니다. "올바른"솔루션은 현재 폐쇄 조치를 사용하는 것처럼 보이지만

I used Ember-2.2 Component source to help figure this out.

And also some of the elements from this question...

+1

이, 나를 위해 일한 : http://emberjs.com/blog/2015/06/12/ ember-1-13-0-released.html # toc_closure-actions –

+1

완전히 동의합니다. 좋은 예를 들어이 답변을 업데이트해야합니다 ... 감사합니다! – Dan

+0

@ 3v0k4이 부분을 올바르게 표시하십시오. – charneykaye

관련 문제