Mustache.js - 知道列表是否只有一个项目

发布于 2025-01-06 10:31:55 字数 242 浏览 2 评论 0原文

目前,当我遇到作者的显示时,我正在循环使用小胡子。

{{#authors}}{{.}}, {{/authors}} //loop through each author names in authors array

问题是末尾的逗号。我更喜欢不受影响的数据(来自服务器的 JSON)。 Mustache 有没有办法知道您是否处于最后一次迭代(并且不附加逗号)或知道您是否处于第一次迭代(并且不附加逗号)

currently i'm looping through using mustache when i came across the display of authors..

{{#authors}}{{.}}, {{/authors}} //loop through each author names in authors array

the issue is the comma at the end. i prefer the data (JSON from server) untouched. is there a way in mustache to know if you are in the last iteration (and not append a comma) or know if you are in the first iteration (and not prepend a comma)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北陌 2025-01-13 10:31:55

未测试!

概述:为除名字之外的所有名称添加前缀“,”。

模板:

{{#beatles}}
  {{name}}
{{/beatles}}

初始化:

window.app.first_flag = true; // initialize
// assumes that the app has created the window.app object/hash to 
// hold the app's data

查看:

 {
  "beatles": [
    { "firstName": "John", "lastName": "Lennon" },
    { "firstName": "Paul", "lastName": "McCartney" },
    { "firstName": "George", "lastName": "Harrison" },
    { "firstName": "Ringo", "lastName": "Starr" }
  ],
  "name": function () {
     var n = this.firstName + " " + this.lastName,
         prefix = ", ";

     if (window.app.first_flag) {
       window.app.first_flag = false;
       prefix = "";
     }
     return prefix + n; 
  }
}

Not tested!

Overview: add a prefix of ", " for all but the first name.

Template:

{{#beatles}}
  {{name}}
{{/beatles}}

Initialize:

window.app.first_flag = true; // initialize
// assumes that the app has created the window.app object/hash to 
// hold the app's data

View:

 {
  "beatles": [
    { "firstName": "John", "lastName": "Lennon" },
    { "firstName": "Paul", "lastName": "McCartney" },
    { "firstName": "George", "lastName": "Harrison" },
    { "firstName": "Ringo", "lastName": "Starr" }
  ],
  "name": function () {
     var n = this.firstName + " " + this.lastName,
         prefix = ", ";

     if (window.app.first_flag) {
       window.app.first_flag = false;
       prefix = "";
     }
     return prefix + n; 
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文