2014-12-15 7 views
2

두 테이블 행 : - 모든 테이블 행 데이터를 보유하는 구성 요소를 생성하려고합니다. - 입력 된 오류 메시지를 표시하기위한 또 다른 보류 중 하나입니다.Ember 구성 요소가 두 개의 테이블 행을 삽입하는 중

구성 요소 HTML :

구성 요소 템플릿

<td>{{input value=one}}</td> 
<td>{{two}}</td> 
<td>{{three}}</td> 

{{#if error}} 
<tr> 
    <td colspan=3>{{errorMessage}}</td> 
</tr> 
{{/if}} 

구성 요소 JS :

App.EntryComponent = Ember.Component.extend ({ 
    layoutName : 'components/entry.hbs', 
    tagName : "tr" 
}); 

하나 개 그럴 필요가 래퍼 TR 내에 중첩 될 때 이것은 분명히 잘못된 것입니다 (구성 요소 태그 이름은 그럴 필요하다). 그러나 구성 요소 관리자가 두 트러블을 갖는 방법을 잘 모르겠습니다. 그게 가능한가?

의견을 듣고 싶습니다. 건배

답변

1

거의 하루 종일 쓰고 난 후에 나는 이것을 처리하는 방법을 발견했다고 생각합니다. 다른 사람들이 동일한 문제로 어려움을 겪을 수 있으므로이 답변을 게시하고 있습니다.

Ember 1.8.x는 빈 tagName을 제공하는 것으로 가능합니다.

<tr> 
    <td>{{input value=one}}</td> 
    <td>{{two}}</td> 
    <td>{{three}}</td> 
</tr> 

{{#if error}} 
<tr> 
    <td colspan=3>{{errorMessage}}</td> 
</tr> 
{{/if}} 

하고 구성 요소 컨트롤러 :

그래서 당신의 템플릿을 변경

App.EntryComponent = Ember.Component.extend ({ 
    layoutName : 'components/entry.hbs', 
    tagName : "" 
}); 
+0

태그 이름은'table'되고 뭐가 잘못? 그것도 고려해 봤어? – Kalman

+0

테이블에 여러 항목이 있고 각 항목이 하나의 항목을 처리하기를 원하기 때문에 실제로 잘라내 지 않는 @KalmanHazins가 있습니다. –

+0

그렇다면 테이블의 각 행/구성 요소에는 1 또는 2가 포함되어 있습니다. 이 경우 tagName을 행 (tr)으로 만들 수 있습니까? 큰 소리로 생각하면 ... – Kalman

관련 문제