Angesichts dieses Stücks HTML:
%Vor%Wie mache ich daraus ein wiederverwendbares Teil für welches Attribut ich will? IE: E-Mail, Passwort, Passwortbestätigung, etc.
Ich würde eine Art Ansichtshierarchie annehmen, aber ich bin mir nicht ganz sicher.
BEARBEITEN : Nach weiteren Erkundungen habe ich {{view}}
und {{render}}
ausgeschaltet und herausgefunden, was genau ich brauche:
Ich möchte:
1. Verwenden Sie eine bestimmte Ansicht (InputView)
2. Verwenden Sie einen bestimmten Controller (vorzugsweise ähnlich benannt: InputController) ( {{view}}
tut das nicht, denke ich)
3. Mehrmals verwenden können ( {{render}}
kann dies nicht tun)
4. Kann Werte übergeben ( {{render}}
kann dies nicht tun)
Beispiel:
%Vor% %Vor% %Vor% %Vor%Ich würde eine Ansicht erstellen, die alle Parameter enthält, die variabel sind. Wie:
%Vor% Von dort können Sie die Bezeichnung, die verschiedenen Klassennamen extrahieren und dann Ember.TextField
verwenden, um den Wert an zu binden.
Sobald Sie alle diese Argumente in die Ansicht übernommen haben, sollte es schön und einfach sein, das Markup mit einer Mischung aus bindAttr
s, einigen berechneten Eigenschaften und Ember-Helfern (wie Ember.TextField
) zu erstellen. ).
Ich bin neu bei Emberjs und suche nach ziemlich genau der gleichen Sache, aber könntest du nicht einfach Ссылка
Aktualisierung: Ok, ich habe es zur Arbeit gebracht. Ich habe einen neuen Helpers-Ordner mit FormgeneratorHelper.js und dem folgenden Code erstellt:
%Vor%Und dann, egal in welcher Vorlage Sie tun können:
%Vor%Ich mag die Idee, Helfer zu benutzen, aber wenn Sie einfaches Javascript (im Gegensatz zu CoffeScript) verwenden und mehr als eine Codezeile haben, wird es leider ein bisschen hässlich. Aber werde wahrscheinlich immer noch diese Methode verwenden.
Wie mache ich daraus ein wiederverwendbares Teil für welches Attribut ich will? IE: E-Mail, Passwort, Passwortbestätigung, etc.
Was Sie wollen, ist der experimentelle Helfer {{control}}
. Der Kontrollhelfer wird derzeit entwickelt und gilt als experimentell. Um es zu aktivieren, setzen Sie ENV.EXPERIMENTAL_CONTROL_HELPER = true
, bevor Sie Ember anfordern.
Ich möchte: 1. Verwenden Sie eine bestimmte Ansicht (InputView) 2. Verwenden Sie einen bestimmten Controller (vorzugsweise ähnlich benannt: InputController) ({{view}} tut dies nicht, denke ich)
Out-of-Box erwartet der Control Helper, dass ihm ein Vorlagenname übergeben wird. Dieser Vorlagenname wird verwendet, um eine übereinstimmende Ansicht und einen passenden Controller zu suchen. Also zum Beispiel:
%Vor%Siehe:
- Sie können dies mehrmals verwenden ({{render}} kann dies nicht tun)
Ein Steuerelement kann mehrmals verwendet werden
- Werte können übergeben werden ({{render}} kann dies nicht tun)
Wie der Helper {{view}}
akzeptiert {{control}}
beliebige Name / Wert-Paare. Wie in Ihrem Beispiel könnte man Optionen manuell an den Steuerhelfer übergeben. Wie der Helper {{view}}
werden diese Optionen Eigenschaften der View-Instanz:
Siehe jsbin für ein funktionierendes Beispiel
Beachten Sie auch, dass Ein Steuerelement ist kann ein Modell angeben, das in seiner Vorlage verwendet werden soll - damit können wir Eigenschaften an Modelldaten binden. Auch wenn sich das Modell eines Controllers ändert, werden seine untergeordneten Controller geändert werden zerstört , so dass das Steuerelement wie erwartet zurückgesetzt wird, wenn das Modell ausgelagert wird.
Tags und Links reusability ember.js partial-views