2016-08-02 29 views
1

Ich versuche, ein Argument vom Knoten js zu Input-Tag in meiner Jade Seite zu übertragen, ist hier mein Code:Übergabewert von Knoten JS zu Jade

Knoten js:

res.render("index" ,{title: userName}); 

Jade Seite (die 'index' genannt):

.input 
    input(type='text', value= #{title} , maxlength='15') 

Was mache ich hier falsch?

Hier ist meine Fehlermeldung:

48 | Eingang (type = 'text', value = # {title}, maxlength = '15')

unerwartetes Token ILLEGAL bei Funktion (nativ)

`

Antwort

1

Du eine maskierte String Interpolation wie hier beschrieben: http://jade-lang.com/reference/interpolation/ Dieses Attribut als nicht funktioniert, müssen Sie gepufferte Code verwenden, wie hier beschrieben: http://jade-lang.com/reference/code/

Es würde wie folgt aussehen:

// escaped code 
.input 
    input(type='text', value= title , maxlength='15') 
// unescaped code 
.input 
    input(type='text', value!= title , maxlength='15') 

Wenn Sie ein Objekt für Ihre Attribute verwenden möchten, können Sie es mit input&attributes(object) handhaben, wie hier descibed: http://jade-lang.com/reference/attributes/#and-attributes

Node.js

res.render("index" ,{ 
    input: { 
     type: 'text', 
     title: userName, 
     maxlength: '15', 
     name: 'myInputName' 
    } 
}); 

Jade:

.input 
    input&attributes(input) 

Ergebnis der beiden:

<div class="input"> 
    <input type="text" value="username" maxlength="15" name="myInputName" /> 
</div> 

Hier ist ein workinh Pen ohne Knoten als Beispiel in Jade: http://codepen.io/pure180/pen/oLPGJy

+0

Funktioniert auch nicht – Tal

+0

@Tal ... Dann machst du etwas falsch in dir app.js oder dein Node-Skript. Mein Beispiel funktioniert perfekt. Hier ist ein profed Stift: http://codepen.io/pure180/pen/oLPGJy – Daniel

+0

Ja, es war etwas falsch in meinem Skript. ur answeer ist richtig. Vielen Dank ! – Tal

3

Wäre es so einfach funktionieren ist: value=title?

.input 
    input(type='text', value=title , maxlength='15') 
+0

Funktioniert nicht für mich .. – Tal