templating - Mustache - 我怎样才能为一个可迭代对象做一些*一次*的事情?

标签 templating mustache

假设我有一个用户,他有很多items

如果 items 中至少有一个项目,我怎么能有一个单个“亲爱的,你有项目!”?

{{#user.items}}
  Sweet, you have items!
{{/user.items}}

注意:我知道我可以创建一个为每个项目重复的部分。但现在我不想那样做。

最佳答案

答案(像大多数 Mustache 一样)是“在渲染之前准备好你的 View 模型”:)

但如果你不喜欢它,你通常可以像这样在 Mustache.js 中伪造它:

{{# user.items.0 }}
  Sweet, you have items!
{{/ user.items.0 }}

(更 Mustachey 的方法是向用户添加一个 hasItems 属性或函数,然后使用它)

编辑:{{# user.items.length }} 做同样的事情,并且不会那么多地污染您的上下文堆栈。您应该改用它。

嗯,真的,您应该使用 View 模型。但第二好的是 user.items.length

关于templating - Mustache - 我怎样才能为一个可迭代对象做一些*一次*的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572096/

相关文章:

javascript - 渲染 EJS 模板并将其保存为文件

tridion - 重写二进制链接以使用 CDN

templating - 使用 Liquid 截断 HTML

scope - 错误: Liquid syntax error: Unknown tag -- variable scope?

javascript - Handlebars js : where to download very last version?

sed - 缩小 text/html 模板中的 HTML 文件

javascript - 如何在 mustache 模板化后检查元素是否存在

javascript - 寻找带有模板的 JS MVC 框架

javascript - 将客户端模板与主布局分开的好方法

node.js - 在 Node 中使用 Mustache.js 将数据与 View 分离