ember.js Handlebars 中的 html 数据属性

标签 html ember.js handlebars.js parsley.js

我正在尝试做这样的事情:

{{input value=email type="text" data-type="email"}}

为了使用 parsley.js 来验证我的输入。 (我知道电子邮件可以使用 type="email")但这只是一个例子。

但是我看到 data-type="email" 没有出现在生成的 HTML 中。

有什么方法可以将这个 HTML data- 属性添加到 handlebars 标签中?

最佳答案

您可以采用不同的方法:

方法一

您可以重新打开 Ember.TextField并定义额外的 attributeBindings,例如:

Ember.TextField.reopen({
  attributeBindings: ['data-type']
});

现在这将起作用:

{{input value=email type="text" data-type="email"}}

Working example.

方法二

定义您自己的自定义输入字段,扩展 ember 的 Ember.TextField

App.MyTextField = Ember.TextField.extend({
  attributeBindings: ['data-type']
});

并像这样使用它:

{{view App.MyTextField value=email type="text" data-type="email"}}

Working example.

希望对您有所帮助。

关于ember.js Handlebars 中的 html 数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597891/

相关文章:

if-statement - Handlebars : display different HTML tags using IF statements

jquery - 在列表中查找具有指定类的第 5 个元素并在 jQuery 中添加另一个类

javascript - 几秒钟后显示/隐藏 HTML 移动按钮

javascript - jQuery 动画和类

javascript - Ember.js 中组件 Handlebars 内的 "if" Handlebars

javascript - 如何从 ember.js Controller 单击按钮

javascript - if 语句导致 TypeError : Cannont call unchain of undefined

javascript - 如何使用 Handlebars 渲染斜体/粗体文本?

javascript - Handlebars 和其他

javascript - Symfony 2.7、Twig 和 CKEditor -- 如何安全地允许某些 HTML 输出?