0

我一直在寻找一种方法来重用 ember 文本字段,因此我将不胜感激。

我所拥有的是(在此处简化)一系列行,例如:

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

而不是总是包装在一个 div 中,我想使用一个新视图。例如:

<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: "",
        ......
});

我不确定如何让文本字段的 valueBinding 链接到我的控制器(实际上它是内容)。我显然可以将另一个属性添加到 DetailItemView 并使用具有值“电子邮件”和“名称”的该属性对其进行实例化。但是我如何将这些传递到包含的 Ember.TextField 中?

感谢您的帮助

4

1 回答 1

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"}}
于 2013-05-11T16:27:32.060 回答