Ember组件插入两个表行

时间:2014-12-15 16:25:10

标签: javascript jquery html ember.js

我试图创建一个管理两个表行的组件: - 一个保存所有表行数据。 - 另一个持有在输入中显示错误消息。

组件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嵌套在包装器tr中(组件tagName是tr)。 但是,我不确定如何让组件管理器两个tr?这甚至可能吗?

愿意听取任何建议。 干杯

1 个答案:

答案 0 :(得分:1)

好好花了差不多一整天后,我相信我已经发现了如何处理这个问题。 我发布了这个答案,因为这可能会帮助那些可能会遇到同样问题的人。

似乎可以通过提供一个空的tagName来实现Ember 1.8.x.

因此,您将模板更改为:

<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 : ""
});