dieses Stück HTML Gegeben:Wie erstelle ich ein wiederverwendbares Partial für doppelte Markup in ember.js?
<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="[email protected]">
<span class="help-block">We just need a valid email address.</span>
</div>
</div>
Wie schalte ich diese in eine wiederverwendbare Teil für was auch immer Attribut ich will? IE: E-Mail, Passwort, Passwort-Bestätigung, etc.
Ich würde eine Art Ansicht Hierarchie annehmen, aber ich bin mir nicht ganz sicher.
EDIT: Nach der weiteren Exploration Ich habe {{view}}
und {{render}}
ausgeknockt und dachte genau, was ich brauche:
Ich möchte: 1. Verwenden Sie eine bestimmte Ansicht (InputView) 2. Verwenden Sie ein spezifische Controller (vorzugsweise ähnlich genannt: InputController) ({{view}}
tut dies nicht, glaube ich) 3. Lage sein, diese mehrfach zu verwenden ({{render}}
kann dies nicht tun) 4. in der Lage sein, in Werte passieren ({{render}}
kann‘ t dies tun)
Beispiel:
<!-- templates/application.hbs -->
{{foo "input" name="Email" id="account.email" placeholder="[email protected]"}}
// 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"}}>
Große Antwort, danke, aber es lässt mich fragen, welcher Controller die Ansicht sucht, wenn Sie bindAttr verwenden? Ich kann das aus den Unterlagen nicht entnehmen. – krainboltgreene
Nun, jede Ansicht sollte Zugriff auf einen Controller haben. Wenn Sie sich in der IndexRoute befinden, hat die Indexansicht standardmäßig Zugriff auf IndexController. Wenn Sie eine Ansicht in diese Indexansicht einfügen, erbt diese Ansicht den IndexController. Vielleicht hilft das: http://stackoverflow.com/questions/14802223/different-rendering-techniques-in-emberjs-handlebars-template/14802424#14802424 – Wildhoney
Interessant, aber hilft mir nicht, denke ich? Ich möchte, dass dieser Helfer seinen eigenen Controller hat. Oder genauer gesagt, habe ich Werte berechnet, die ich nicht an IndexController anhängen möchte. – krainboltgreene