0

我正在使用paper-data-table,它是ember-paper的扩展。两者都使用了一种我以前没有见过的技术,我将其描述为“模板助手创建模板助手”。

下面是一个简单的 ember-paper 工具栏组件示例

{{#paper-toolbar as |toolbar|}}
 {{#toolbar.tools}}
   {{#paper-button}}
     Go Back
   {{/paper-button}}
   <h2>Toolbar with Standard Buttons</h2>
   <span class="flex"></span>
   {{#paper-button raised=true}}
     Learn More
   {{/paper-button}}
   {{#paper-button mini=true aria-label="Favorite"}}
    {{paper-icon "favorite"}}
   {{/paper-button}}
 {{/toolbar.tools}}
{{/paper-toolbar}}

有一个新的模板助手创建{{#paper-toolbar as |toolbar|}}。在我的用例中,我想将由纸张数据表模板帮助器(/组件?)创建的行模板帮助器传递给另一个组件以封装其中的逻辑。

我试图将其作为论据传递:

{{#paper-data-table
   sortProp='sort'
   sortDir='asc'
   as |table|
}}
   {{#table.body as |body|}}
      {{#each questions as |question index|}}
          {{question-row
              row=body.row
          }}
      {{/each}}
  {{/table.body}}
{{/paper-data-table}}

但是当试图在组件的模板中使用 helper(/component question-row)

{{#row as |row|}}{{/row}}

我收到以下错误:

Assertion Failed: A component or helper named "row" could not be found Error

所以我想问这是否可能以及如何运作。

4

1 回答 1

0

这种方法称为上下文组件,我可以在问题行组件中使用以下代码来解决它:

{{#component row as |row|}}
    {{#row.cell}}
       HALLO
    {{/row.cell}}
{{/component}}
于 2017-04-28T13:25:51.520 回答