Arrays 胡须-如何检测数组是否为空?

Arrays 胡须-如何检测数组是否为空?,arrays,logic,mustache,Arrays,Logic,Mustache,我想用Mustache实现以下逻辑: {{#if users.length > 0}} <ul> {{#users}} <li>{{.}}</li> {{/users}} </ul> {{/if}} // eg. data = { users: ['Tom', 'Jerry'] } 对不起,这可能太晚了。但我有类似的要求,并找到了更好的方法: {{#users.len

我想用Mustache实现以下逻辑:

{{#if users.length > 0}}
    <ul>
        {{#users}}
            <li>{{.}}</li>
        {{/users}}
    </ul>
{{/if}}

// eg. data = { users: ['Tom', 'Jerry'] }

对不起,这可能太晚了。但我有类似的要求,并找到了更好的方法:

{{#users.length}}
    <ul>
        {{#users}}
            <li>{{.}}</li>
        {{/users}}
    </ul>
{{/users.length}}
{{^users.length}}
    <p>No Users</p>
{{/users.length}}
{{{#users.length}
    {{{#用户}
  • {{}}
  • {{/用户}
{{/users.length} {{^users.length} 没有用户

{{/users.length}
这里的工作示例:

如果您希望对数组的每个元素重复内部语句,那么使用{{#users.length}非常有效,但是如果您只希望语句只运行一次,则可以使用:

{{#users.0}}
...
{{/users.0}}
{{^users.0}}
...
{{/users.0}}

是的,我相信您将不得不像对待
hasUsers
那样修改数据。另一个选项是在他们的主页上使用更健壮的方法来处理这种情况。这种方法也适用于php,因为数组没有长度属性。但是,如果
用户
是数组数组,则会失败。它可以工作!但官方的胡子文件中没有记录。好主意,我刚刚遇到了这个问题!:)但请注意,这不是标准的胡须功能。这取决于Mustache实现。所以永远不会太迟:)我可以确认,正如@corgrath所说,这取决于实现:它不适用于samskivert的Java Mustache库。#users.length-检查数组是否为空
{{#users.0}}
...
{{/users.0}}
{{^users.0}}
...
{{/users.0}}