2012-01-24 18 views
10

Böyle, bıyık sözdizimi kullanmak üzere ayarlanmış, HTML şablonu için underscore.js kullanın:Eğer "mustache" -like underscore.js içinde nasıl olur?

<% if (typeof(date) != "undefined") { %> 
    <span class="date"><%= date %></span> 
<% } %> 

Bir underscore.js bıyık tarzı çevirmek nasıl: {{ }}

Bu kodu vardır şablon {{ }} kullanıyor? {[ … ]}

+3

Mantığı şablonun dışında kiralamanız ve yalnızca yazım tarihi (tarih)! = "Undefined ise, şablonlar sadece pass olarak kabul edilmelidir. –

cevap

20

alt çizgiden sonra bu kodu içerir mantık, kısmi yardımcılar, yardımcılar & bağlamında. Ayrıca, önceden derlenmiş olabilir. Bir IMHO olmalı.

+0

niçin kullanılır? ([\ S \ S ] +?) 'yerine' (. +?) '' subcore.js 'belgelerinden örnekte olduğu gibi herhangi bir nedenle? – simon

+1

@simon '[\ s \ S]', HERHANGİ BİRLEŞTİRİLEN ortak bir regex modelidir regex'de '.' ifadesi yeni satır karakterleri ile eşleşmiyor.Yaldırıcı motor, JavaScript’i kullanabilmeniz için' ''' in yeni satırlarla eşleşmesini sağlamanın bir yolunu sağlamaz (diğer regex motorlarında olduğu gibi) Daha fazla bilgi: http: //www.regular-expressions. bilgi/dot.html –

0
{{#date}} 
<span class="date">{{date}}</span> 
{{/date}} 
+1

gerçekten benim için çalışmaz!" Şablon! Ama ben hala bir Şablon çalışma yöntemi arıyoruz! Teşekkür ederim zaten – trouble

-1

sadece kullandığım ekleme

_.templateSettings = { 
    interpolate:/\{\{(.+?)\}\}/g 
}; 
+1

Zaten Bitti! Benim soru ist ... kullanımı hakkında sor ... o zaman ... Teşekkür ederim – trouble

1

http://handlebarsjs.com/ mustach olan

_.templateSettings = { 
     evaluate : /\{\[([\s\S]+?)\]\}/g, 
     interpolate : /\{\{([\s\S]+?)\}\}/g 
    }; 

Sonra yerine <%= … %> kullanım {{ … }} ve yerine <% … %> kullanımı: