模板中的动态值

时间:2013-01-10 15:19:32

标签: ember.js

我已经扩展了一个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>')

1 个答案:

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