我已经扩展了一个View(带有fieldId生成器函数)并设置了以下模板:
我需要为标签“for attribute”(使用view.fieldId计算)和{{view Em.Textfield ...}}
具有相同的计算ID如何在{{view Em.TextField expression ..}}中使用view.fieldId设置id属性?
还有其他选择吗?
template: Ember.Handlebars.compile('<label class="control-label" {{bindAttr for="view.fieldId"}}>{{view.label}}</label>\
<div class="controls">\
{{view Em.TextField valueBinding="view.value" class="input-large"}}\
<span class="help-inline">Something may have gone wrong</span>\
</div>')
答案 0 :(得分:1)
解决方案是将for
的{{1}}属性绑定到<label>
的{{1}}属性。
首先,您必须通过设置其elementId
属性为您的Ember.TextField命名:
Ember.TextField
然后,您必须使用viewName
将其{{view Ember.TextField viewName="myTextField"}}
绑定到elementId
属性:
for
它有效,只有try it in this JSFiddle。
N.B。:另一个解决方案是将bindAttr
嵌套在标签内。有关详细信息,请查看this SO question: Using Ember.js text field ids for a tag