我在这里有以下问题:
<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>
任何想法?
答案 0 :(得分:1)
尝试使用引号:
{{#link-to "blub" bind-attr data-testid="aID"}}{{loc "blub"}}{{/link-to}}
缺少引号会导致Ember在当前视图上下文中尝试查找属性,而不是仅仅按照您的意愿吐出字符串。
答案 1 :(得分: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']
});