javascript - 在 Emberjs/handlebars 中为 html 元素定义 ID 失败

标签 javascript testing ember.js handlebars.js dalekjs

我这里有以下问题:

<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>

有什么想法吗?

最佳答案

在 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']
});

See similar question here.

And the Ember docs here.

关于javascript - 在 Emberjs/handlebars 中为 html 元素定义 ID 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22840959/

相关文章:

javascript - Cypress - 如何为每个测试用例编写一个代码

.net - 如何设置 FitNesse 以与 .NET 一起使用?

ember.js - 每次应用程序在ember-js中进入给定路由时如何执行函数

javascript - 在鼠标悬停事件 Canvas 上显示来自 Knockout JS 的特定数据

javascript - 简单的幻灯片第一张幻灯片完全淡出

javascript - 使用 JSPDF 从复杂的 html 表生成 PDF

windows - 在 OSX 上测试旧版 IE 的最佳方法是什么?

javascript - store.filter() 没有按预期工作 ember.js(尝试搜索模型)

jquery - 如何使用 Ember Droplet 将文件上传到 Node.js?

javascript - 是否可以执行使用 pjax 检索到的 Javascript 代码?