0

我在这里有以下问题:

<ul class="aClass">
  {{#if something}}
  <li>{{#link-to "blub" bind-attr data-testid=aID}}{{loc "blub"}}{{/link-to}}</li>
  {{/if}}
</ul>

所以我想在<a href="">...</a>结果元素中有一个元素(链接到被渲染到),id为 aId。但是该元素在呈现的 HTML 中不包含所需的 id。像这样的东西:

<a href="" data-testid="aID">...</a>

有任何想法吗?

4

2 回答 2

1

尝试使用引号:

{{#link-to "blub" bind-attr data-testid="aID"}}{{loc "blub"}}{{/link-to}}

缺少引号将导致 Ember 尝试在当前视图上下文中查找属性,而不是按照您的意愿吐出一个字符串。

于 2014-04-03T15:44:11.407 回答
1

在 Ember 中,bind-attr不应在您的link-to帮助中使用它,因为它只能在 html 元素中使用:

<a {{bind-attr href=myLink}}>My Link</a>

在 Handlebars 助手内部,您只需直接定义属性。

{{#link-to "blub" data-testID="aID"}}{{loc "blub"}}{{/link-to}}

如果缺少引号,则该属性不会呈现到 HTML 中。

但是您还需要重新打开LinkView

Ember.LinkView.reopen({
    attributeBindings: ['data-testID']
});

在这里看到类似的问题。

还有这里的 Ember 文档。

于 2014-04-03T15:54:20.580 回答