ember.js把手中的html数据属性

Bra*_*ger 19 html handlebars.js ember.js parsley.js

我想做这样的事情:

{{input value=email type="text" data-type="email"}}
Run Code Online (Sandbox Code Playgroud)

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

但我发现它data-type="email"并没有出现在生成的HTML中.

有什么方法可以将这个HTML数据属性添加到把手标签中吗?

int*_*xel 23

您可以采用不同的方法:

方法1

您可以重新打开Ember.TextField并定义其他内容attributeBindings,例如:

Ember.TextField.reopen({
  attributeBindings: ['data-type']
});
Run Code Online (Sandbox Code Playgroud)

现在这将工作:

{{input value=email type="text" data-type="email"}}
Run Code Online (Sandbox Code Playgroud)

工作实例.

方法2

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

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

并像这样使用它:

{{view App.MyTextField value=email type="text" data-type="email"}}
Run Code Online (Sandbox Code Playgroud)

工作实例.

希望能帮助到你.