Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从下划线模板到mustache.js_Javascript_Underscore.js_Mustache - Fatal编程技术网

Javascript 从下划线模板到mustache.js

Javascript 从下划线模板到mustache.js,javascript,underscore.js,mustache,Javascript,Underscore.js,Mustache,我想从下划线模板更改为mustache.js 因为在mustache.js中没有if语句如何更改这段代码以使用mustache.js <% if (done) { %> <span class="todo-clear"> <a href="#"> Clear <span class="number-done"><%= done %></span> completed <span class="w

我想从
下划线模板
更改为
mustache.js

因为在mustache.js中没有
if语句
如何更改这段代码以使用
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>
<% } %>

我的解决办法是:

 {{#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}}
{{#total}
{{total}}
{{剩余的}}
左边。-->
将任务从一个列表拖到另一个列表中,反之亦然。
{{/total}
它适用于total变量,因为它可以是0或更多,但我不知道在剩余变量(可能是1或更多)上修复它的最佳方法

<span class="word"><%= remaining == 1 ? 'item' : 'items' %></span> left.</span>
左。
应该是这样的:

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

{{{剩余}}项{{/剩余}
{{^剩余}}项{{/剩余}

它不起作用,因为剩余值可能是1或更多。

在您的视图中,您可以这样做:

<span class="word"><%= remaining == 1 ? 'item' : 'items' %></span> left.</span>
Mustache.render(yourTemplate, {
     remaining: items.length > 1 ? true : false
}

如果您只是移动到一个新的模板框架,我建议使用。它支持以下if语句:

{{#if total}}
  <span>something</span>
{{else}}
  <span>something else</span>
{{/if}}
{{{#if total}
某物
{{else}
别的
{{/if}

根据
handlebar
文档
if语句的工作方式是:如果其参数返回false、undefined、null或[](一个“falsy”值),
handlebar
将不会渲染块。但这相当于在小胡子中使用
{{{{total}}
{{{^total}}