0

View を (fieldId ジェネレーター関数で) 拡張し、次のテンプレートを設定しました。

「属性の」ラベル (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>')
4

1 に答える 1

1

for解決策は、の属性を<label>elementIdプロパティにバインドすることですEmber.TextField

viewNameまず、プロパティを設定して、Ember.TextFieldに名前を付ける必要があります。

{{view Ember.TextField viewName="myTextField"}}

次に、 :を使用elementIdして、for属性にバインドする必要があります。bindAttr

<label {{bindAttr for="view.myTextField.elementId"}}> My label </label>

そしてそれは動作します、このJSFiddleで試してみてください

注意:もう1つの解決策はinput、ラベルの内側をネストすることです。詳細については、このSOの質問を参照してください:タグにEmber.jsテキストフィールドIDを使用する

于 2013-01-10T19:07:42.560 に答える