2012-02-02 3 views
21

У меня есть объект javascript obj, а значение ключа может быть true или false.Mustache javascript: как обращаться с булевыми значениями

Это значение передается шаблону уса.

// JavaScript Object

obj = { 
    like: true // or false 
} 

// шаблон

<span> 
    {{ like }} 
</span> 

Теперь я хотел бы имея результат рендеринга таким образом:

<span> 
    Like <!-- If {like: true} ---> 
</span> 

<span> 
    Unlike <!-- If {like: false} ---> 
</span> 

Что является лучшим способ сделать это в шаблоне усов?

ответ

45

это так же, как это:

<span> 
    {{#like}} 
     Like <!-- If {like: true} ---> 
    {{/like}} 
    {{^like}} 
     Unlike <!-- If {like: false} ---> 
    {{/like}} 
</span> 
+0

можно положить условие как (как == 2) ... {{# like == 2}} –

+0

Чтобы сделать что-то более сложное, чем «if» или «if», вам нужно создать помощника. Что-то вроде этого: https://gist.github.com/doginthehat/1890659 – kcent

10

Просто используйте раздел и перевернутую раздел:

{{#like}} 
<span> 
    Like <!-- If {like: true} ---> 
</span> 
{{/like}} 

{{^like}} 
<span> 
    Unlike <!-- If {like: false} ---> 
</span> 
{{/like}} 
+2

Мне нравится этот ответ гораздо больше, чем принято отвечать, потому что в результате оболочка может иметь свой собственный класс, который должен применяться к нему соответствующим образом. Например, «как» или «не нравится» может отображаться как большие или большие пальцы. – JGallardo

Смежные вопросы