emberjs - 阻止组件的参数

时间:2015-04-05 20:14:09

标签: ember.js

如果我声明一个这样的组件:

<p>
  {{#x-autosuggest source=model destination=tags minChars=0}}
    <img src="img/small_avatar.png" title="{{name}}" class="avatar"/>
  {{/x-autosuggest}}
</p>

我希望name该字段来自我使用new block params语法传递的上下文。我已经尝试过下面的代码示例,但上下文仍然是控制器的上下文,而不是我在组件的hbs文件中使用yield传递的参数。

<ul class='selections'>
  {{#each destination as |selection|}}
    <li class="selection">
      <a class="as-close" {{action "removeSelection" selection}}>x</a>
      {{yield selection}}
      {{displayHelper selection searchPath}}
    </li>
  {{/each}}
</ul>

如何传递selection参数,以便在原始代码段中设置name属性?

我已使用此jsbin

重新创建了一个基本示例

1 个答案:

答案 0 :(得分:0)

您需要在使用组件的位置添加as |name|以获得收益值。

<p>
  {{#x-autosuggest source=model destination=tags minChars=0 as |name|}}
    <img src="img/small_avatar.png" title="{{name}}" class="avatar"/>
  {{/x-autosuggest}}
</p>