2014-07-26 25 views
10

Nie podoba mi się składnia jadeitu i zastanawiałem się, czy mógłbym zrobić to proste porównanie, używając zamiast tego hoganJS?Wyrażenia Hogan JS IF

Przykładowy kod zapisano w JADE.

Zrobiłem trochę googlowania i wydaje się, że mam mieszaną opinię. Po prostu chcę wiedzieć, czy jest jakiś sposób, czy będę musiał coś zmienić?

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

block body 

Odpowiedz

21

Hogan jest implementacją Mustache, więc obowiązuje ta sama składnia.

{{#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 Kiedyś debatować, czy użyć Hogan lub inną realizację Moustache nad kierownicą, ponieważ była trochę szybsza/lżejsza. Radzę użyć Handlebars zamiast Hogan i skompilować twój front end i używać tylko runtime Handlebars na kompilacji - ponieważ ma ładniejszą warunkową składnię i obsługuje kilka bardziej użytecznych rzeczy bez przechodzenia zbyt wysoko.

W Handlebars byłoby czystsze:

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

Ale i tak Hogan jest nadal ładna, więc twój wybór. Ja też nie lubię Jade, przypomina mi to CoffeeScript czy coś takiego.

+1

Pozdrowienia kolega, zupełnie zapomniałem o kierownicy. Pozdrawiam za wszelką pomoc! :) – user61026

+0

@ user61026 no prob –

+0

Kolejne szybkie pytanie czy szablony hogan mogą dziedziczyć po sobie? – user61026