将现有文本字段视图嵌套在新视图中

时间:2013-05-11 14:37:20

标签: ember.js

我一直在寻找重用ember文本字段的方法,所以任何帮助都会受到赞赏。

我所拥有的(在此简化)选择的行如:

<div class="detailItem">Email: {{view Ember.TextField  valueBinding="email"}} </div>
<div class="detailItem">Name: {{view Ember.TextField  valueBinding="name"}} </div>

而不是总是包装在div中我想使用新视图。 e.g:

<script type="text/x-handlebars" data-template-name="detailItem">   
<div class="detailItem">{{Item name}}: {{view Ember.TextField valueBinding="itemValue"}} </div>
</script>

App.DetailItemView = Em.View.extend({
    templateName: 'detailItem',
    name: "",
        ......
});

我不确定的是我如何将textfield的valueBinding链接到我的控制器(实际上它是内容)。我显然可以向DetailItemView添加另一个属性,并使用具有值'email'和'name'的属性对其进行实例化。我怎么会把这些传递给包含的Ember.TextField?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

App.DetailItemView = Ember.View.extend({
  templateName: 'detail_item',
  classNames: ['detailItem'],
  label: null,
  value: ''
});

和模板:

<script type="text/template" id="detail_item">
  {{view.label}}: 
  {{view Ember.TextField valueBinding="view.value"}}
</script>

然后像这样使用它:

{{view App.DetailItemView label="Email" valueBinding="email"}}
{{view App.DetailItemView label="Name" valueBinding="name"}}