您可以创建一个包含所有必需引导标记并包含内置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>
唯一棘手的部分是正确设置for='..."
属性,<label>
因为我们需要获取{{view Ember.TextField ...}}
. 这可以通过使用助手的viewName
属性来完成。{{view ...}}
设置允许我们访问我们创建{{view App.theViewHere viewName='desiredViewName'
的实例,并使用帮助器将标签的属性设置为视图的 id 。Ember.TextField
for
{{bindAttr...}}