Hogan JS IF声明

时间:2014-07-26 11:25:04

标签: javascript html dom pug hogan.js

我真的不喜欢jade语法,并且想知道我是否可以使用hoganJS进行这种简单的比较?

示例代码是用JADE编写的。

我做了一些谷歌搜索,似乎有不一致的意见..我只是想知道是否有办法或我是否需要改变一些东西?

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

block body

1 个答案:

答案 0 :(得分:23)

Hogan是Mustache的实现,因此适用相同的语法。

{{#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我过去常常讨论是否使用Hogan或其他一些Mustache实现而不是Handlebars因为它更快/更轻。我的建议是使用Handlebars而不是Hogan,并编译你的前端并仅在构建时使用Handlebars运行时 - 因为它具有更好的条件语法并且支持一些更有用的东西,而不会超过顶部。

Handlebars中,它会更清洁:

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

但无论如何Hogan仍然很好,所以你的选择。我也不喜欢Jade它让我想起了CoffeeScript或其他东西。