Wie erhalte ich eine Variable mit Namen in einem Mixin?
-
29-10-2019 - |
Frage
Formular (teilweise):
include ../mixins/form-helpers
form(action='/users/create', method='post')
div.fields
fieldset
mixin field('text', 'email', 'Email')
mixin field('password', 'password', 'Password')
mixin field('password', 'password_confirmation', 'Confirm password')
mixin field('username', 'username', 'Username')
mixin submit('Register')
Das Feldmixin sieht folgendermaßen aus:
mixin field(type, n, label)
.clearfix
label(for='#{n}') #{label}
.input
input#password.span8(name=n, type=type, value=user[name])
Controller:
(req, res)->
user =
email: 'someemail'
password: ''
password_confirmation: ''
username: 'someusername'
res.render 'users/new', user:user
Ich versuche, das Feldmixing etwas allgemeiner zu gestalten, damit ich es wiederverwenden kann.Ich suche nach einer Möglichkeit, "user [name]" durch "generic [name]" zu ersetzen
Lösung
Sie können eine Variable in einer Vorlage in Jade mit einem Bindestrich (-) festlegen
Wenn Sie also generischen [Namen] verwenden, können Sie in Ihrem Formular Folgendes tun:
-var generic = user;
include ../mixins/form-helpers
form(action='/users/create', method='post')
div.fields
fieldset
mixin field('text', 'email', 'Email')
mixin field('password', 'password', 'Password')
mixin field('password', 'password_confirmation', 'Confirm password')
mixin field('username', 'username', 'Username')
mixin submit('Register')
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow