Hogan JS IF声明

use*_*026 11 html javascript dom hogan.js pug

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

示例代码是用JADE编写的.

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

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

block body
Run Code Online (Sandbox Code Playgroud)

Dom*_*nic 24

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}}
Run Code Online (Sandbox Code Playgroud)

PS我过去常常讨论是否使用Hogan或其他一些Mustache实现而不是Handlebars因为它更快/更轻.我的建议是使用Handlebars而不是Hogan,并编译你的前端并仅在构建时使用Handlebars运行时 - 因为它具有更好的条件语法并支持一些更有用的东西,而不会过于夸张.

Handlebars中它会更清洁:

{{#if user}}
...
{{else}}
...
{{/if}
Run Code Online (Sandbox Code Playgroud)

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