From underscore to mustache.js

I would like to change from underscore templateto mustache.js.

Since there is no mustache.js if statements, how can I change this piece of code to use mustache.js?

<% if (done) { %>
<span class="todo-clear">
    <a href="#">
    Clear <span class="number-done"><%= done %></span>
    completed <span class="word-done"><%= done === 1 ? 'item' : 'items' %></span>
    </a>
</span>
<% } %>

My decision:

 {{#total}}
        <span class="todo-count">{{ total }}
          <span class="number">{{ remaining }}</span>
          <span class="word"><%= remaining == 1 ? 'item' : 'items' %></span> left.-->
        </span>
          <span class="hint">
          Drag tasks from one list into another and vice versa.
          </span>
 {{/total}}

It works for a shared variable because it can be 0 or more, but I have no idea what is the best way to fix it on the remaining variable, which can be 1 or more.

<span class="word"><%= remaining == 1 ? 'item' : 'items' %></span> left.</span>

It should be something like this:

<span class="word">
    {{#remaining}} 'items'  {{/remaining}} 
    {{^remaining}} 'item'  {{/remaining}}
</span> 

This does not work, because the remainder may be 1 or more.

+5
source share
2 answers

In your view, you can do something like this:

Mustache.render(yourTemplate, {
     remaining: items.length > 1 ? true : false
}
+3
source

, handlebars.js. if :

{{#if total}}
  <span>something</span>
{{else}}
  <span>something else</span>
{{/if}}
+2

All Articles