2014-07-26 26 views
10

Ben yeşim sözdizimini sevmiyorum ve bunun yerine hoganJS kullanarak bu basit karşılaştırmayı yapıp yapamayacağımı merak ediyordum?Hogan JS IF ifadeleri

Örnek kod, JADE'de yazılmıştır.

Ben biraz googling yaptım ve karışık bir fikir var gibi görünüyor .. Sadece bir yolu var mı yoksa bir şey değiştirmeye mi ihtiyacım var mı bilmek istiyorum?

if user 
li 
    a(href='/dashboard') Dashbaord 
li 
    a(href='/logout') Logout 
else 
li 
    a(href='/login') Logi§n 

block body 

cevap

21

Hogan nedenle aynı sözdizimi geçerlidir Mustache bir uygulamasıdır.

{{#user}} 
    <li><a href="/dashboard">Dashboard</a></li> 
    <li><a href="/logout">Logout</a></li> 
{{/user}} 
{{^user}} 
    <li><a href="/login">Login</a></li> 
{{/user}} 

PS ben/çakmak biraz daha hızlı olduğu için gidonun üzerinden Hogan veya başka Bıyık uygulanmasını kullanılıp kullanılmayacağını tartışmaya kullandı. Benim tavsiyem Hogan değil Handlebars kullanmak ve ön ucunu derlemek ve sadece kullanmak için Handlebars çalışma zamanı kullanmak - çünkü daha iyi şartlı sözdizimi vardır ve üst üzerinde fazla gitmeden birkaç yararlı şeyler destekler.

Handlebars daha temiz olacaktır:

{{#if user}} 
... 
{{else}} 
... 
{{/if} 

Ama yine de Hogan böylece senin seçimin, hala güzel. Ayrıca Jade'i sevmiyorum, bana CoffeeScript'i hatırlatıyor.

+1

Şerefe dostum, aslında gidonları tamamen unutmuştum. Tüm yardım için alkış! :) – user61026

+0

@ user61026 no prob –

+0

sadece başka bir hızlı soru hogan şablonları birbirinden miras alabilir mi? – user61026