必要なすべてのブートストラップ マークアップを含み、組み込みのEmber.TextField
入力要素を組み込んだ新しいビューを作成できます。カスタム TextField にはlabel
、フォーム ラベルのテキストを設定する追加のプロパティがあります。
JSBin の例
カスタム テキストフィールド:
JS:
App.BootstrapTextFieldView = Ember.View.extend({
templateName: 'bootstrapTextField',
inputElement: null
});
ハンドルバー:
<script type="text/x-handlebars" data-template-name='bootstrapTextField'>
<div class='control-group'>
<label class="control-label" {{bindAttr for='view.inputElement.elementId'}}>{{view.label}}</label>
<div class="controls">
{{view Ember.TextField valueBinding='view.value' viewName="inputElement"}}
</div>
</div>
</script>
新しいビューの使用
通常の使用と同様に使用しますEmber.TextField
:
<form class="form-horizontal">
{{view App.BootstrapTextFieldView valueBinding='textFieldValue' labelBinding='textFieldLabel'}}
</form>
の自動生成された ID を取得する必要があるため、唯一のトリッキーな部分は のfor='..."
プロパティを正しく設定することでした。これは、ヘルパーのプロパティを使用して実行できます。設定により、作成した のインスタンスにアクセスし、ヘルパーを使用してラベルのプロパティをビューの ID に設定できます。<label>
{{view Ember.TextField ...}}
viewName
{{view ...}}
{{view App.theViewHere viewName='desiredViewName'
Ember.TextField
for
{{bindAttr...}}