【问题标题】:Nesting existing textfield view in a new view在新视图中嵌套现有的文本字段视图
【发布时间】:2013-05-06 01:54:39
【问题描述】:

我一直在寻找一种方法来重用 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 中?

感谢您的帮助

【问题讨论】:

    标签: ember.js


    【解决方案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"}}
    

    【讨论】:

    • 谢谢我今天早些时候确实做过类似的事情,但没有奏效。认为它一定只是一种类型或缺少“”。非常感谢
    • 您介意尝试一下并确认它对稍后阅读此问题的其他人有用吗?
    猜你喜欢
    • 2012-03-28
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 2015-09-11
    • 2021-11-23
    • 1970-01-01
    相关资源
    最近更新 更多