【问题标题】:Mustache - how can I do something *once* for an iterable?小胡子 - 我怎样才能*一次*为可迭代做某事?
【发布时间】:2023-03-22 17:07:01
【问题描述】:

假设我有一个user,他有很多items

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

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

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

【问题讨论】:

    标签: templating mustache


    【解决方案1】:

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

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

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

    (更 Mustachey 的方式是向用户添加 hasItems 属性或函数并使用它来代替)

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

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

    【讨论】:

    • 优秀的答案,包括“想要什么问题”的方式、正确的方式和妥协。谢谢!
    猜你喜欢
    • 2021-08-17
    • 2015-11-27
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2017-12-05
    相关资源
    最近更新 更多