2011-10-20 22 views
5

Benim için otomatik olarak url üretmek için yeşim almaya çalışıyorum:node.js yeşim şablonu - özel söz dizimi ve değiştirmeler?

bu yüzden böyle bir kullanıcı bağlantım varsa:

.userLink 
    a(href="/#{user}") #{user} 

Bir şeyle değiştirmeyi istiyorum (varsayımsal söz dizimi)):

.userLink 
    userLink(#{user}) 

Yine de bunu yapmak için?

Teşekkürler

Düzenleme: OKAY Anladım:

mixin userLink(user) 
    a(href="/" + user)= user 

mixin userLink("Bob") 

Bu işe yarayacak gibi görünüyor.

+0

Güzel! Başarısızlıkların var olduğuna sevindim. –

cevap

3

GÜNCELLEME:

İşte yeşim katmalar kullanarak bir versiyonu. Ne yazık ki, "kullanıcı" değişkenini "a" etiketinin parantez içine alınmış öznitelikler listesinde göremiyorum.

mixin userLink(user) 
    a(href="/" + user)= user 

mixin userLink("Bob") 
mixin userLink("Alice") 
mixin userLink("Cooper") 

Sadece bir yardımcı işlevi senin halk koymak nesne ve yeşim şablonunda

locals = {userLink: function(userName) { return "<a href=....."}} 

jade.render('myview', {locals: locals}) 

Sonra şablondan diyoruz yapmak bu HTML

<a href="/undefined"></a> Bob 
<a href="/undefined"></a> Alice 
<a href="/undefined"></a> Cooper 

oluşturur:

= userLink(user) 

Ayrıca muhtemelen bir dynamicHelper function kayıt bakmak isteyebilirsiniz.

+0

İstemci tarafında jadevu ve yeşim kullanıyorum, bu benim için gerçekten iyi bir seçenek değil. Aynı zamanda JS'ye sahip olmaktan ziyade, yeşim taşı içindeki şeyleri tutmak istiyorum. – Harry

+0

Uh, "templating şeyler" işlevler içeriyorsa, bu olmayacak. Kod verileri hazırlar, yeşim onu ​​HTML'ye tükürür. –

+0

Bu karışmaların noktası değil mi? – Harry

İlgili konular