gpt4 book ai didi

ember.js - 如何在 ember.js 中为重复标记创建可重用部分?

转载 作者:行者123 更新时间:2023-12-02 05:08:01 25 4
gpt4 key购买 nike

鉴于这段 HTML:

<div id="email_field" class="control-group">
<label class="control-label" for="account.email">Email</label>
<div id="email_input" class="controls">
<input id="account.email" name="account.email" type="text" placeholder="jpublic@example.com">
<span class="help-block">We just need a valid email address.</span>
</div>
</div>

对于我想要的任何属性,我如何将其变成可重用的部分? IE:邮箱、密码、密码确认等

我会假设某种 View 层次结构,但我不太确定。

编辑 : 经过进一步探索,我已经淘汰了 {{view}}{{render}}并弄清楚我需要什么:

我想要:
1.使用特定 View (InputView)
2. 使用特定的 Controller (最好类似命名:InputController)(我认为 {{view}} 不会这样做)
3.可以多次使用( {{render}}不能这样做)
4.能够传入值( {{render}}不能这样做)

例子:
<!-- templates/application.hbs -->
{{foo "input" name="Email" id="account.email" placeholder="jpublic@email.com"}}
// controllers/input.js
Application.InputController = Ember.ObjectController.extend({
type: "text"
});
// views/input.js
Application.InputView = Ember.View.extend({
templateName: "form/input"
});
<!-- templates/form/input.hbs -->
<input {{bindAttr id="id" name="name" type="type" placeholder="placeholder"}}>

最佳答案

我将创建一个包含所有可变参数的 View 。如:

{{view App.FormEntity
name="email"
placeholder="My placeholder..."
help="We just need a valid email address."
valueBinding="value"
}}

从那里您可以提取标签、各种类名,然后使用 Ember.TextField将值绑定(bind)到。

一旦您将所有这些参数传递到 View 中,使用 bindAttr 的混合创建标记应该会很好且容易。 s、几个计算属性和 Ember 助手(例如 Ember.TextField )。

关于ember.js - 如何在 ember.js 中为重复标记创建可重用部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14925763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com