将自定义html属性添加到Ember.select

时间:2013-09-05 12:08:25

标签: ember.js

我的下拉菜单使用以下代码生成

{{view Ember.Select contentBinding="controller.softwares" valueBinding="ss.value" optionLabelPath="content.name" optionValuePath="content.id" prompt="Select Software" name="software" }}               

目前正在生成类似

的内容
<select name="software">
......
</select>

我希望它是

<select name="software" data-id="45">
......
</select>

我试过

{{view Ember.Select contentBinding="controller.softwares" valueBinding="ss.value" optionLabelPath="content.name" optionValuePath="content.id" prompt="Select Software" name="software" data-id="ss.id" }}               

但它不起作用。

1 个答案:

答案 0 :(得分:2)

你必须告诉Ember绑定这个属性:

App.YourSelect = Ember.Select.extend({
  attributeBindings : ["data-id"]
});

{{view App.YourSelect contentBinding=controller.softwares valueBinding=ss.value optionLabelPath="content.name" optionValuePath="content.id" prompt="Select Software" name="software" data-id=ss.id }} 

这告诉ember将此属性添加到底层DOM元素。 Plz还注意到我对删除的轻微修正“。这是Ember团队在访问对象时不使用引号的建议。这样可以更容易区分它与”选择“之类的字符串软件”。

PS:尚未测试过。可能有一些小错误: - )