javascript - Mustache.js 每个循环都不起作用

标签 javascript mustache

我的 mustache 模板未渲染,我不明白为什么不渲染。

var output = Mustache.render('{{#languages}} {{@index}} {{locale}} {{/languages}}', '{"languages" : [ { "locale" : "english", "code" : "en" }, { "locale" : "deutsch", "code" : "de" }, { "locale" : "español", "code" : "es" }, { "locale" : "français", "code" : "fr" } ]}');

此输出为空。我还希望索引与每个项目一起呈现。

Demo

最佳答案

第一个问题是您应该传递一个对象作为数据,而不是字符串。删除 languages 对象周围的引号。

第二个问题是 Mustache 不支持 {{@index}} 特殊引用。许多类似 Mustache 的模板系统,例如 Dust.jsHandlebars.js确实本质上支持这一点,但在 Mustache 中,您必须编写一个助手并将其包含在数据中。为此,请参阅有关该主题的许多其他 StackOverflow 答案之一,例如 this one .

关于javascript - Mustache.js 每个循环都不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29261761/

相关文章:

javascript - 嵌套异步函数的问题(异步系列中的异步 waterfall )

javascript - 追加时按钮不起作用

javascript - 在 while 循环中调用函数并赋值。骰子作业问题

javascript - 这里 api 不会使用 Geojson 在 map 上绘制,无法读取未定义的属性 geojson

javascript - 组合多个 mustache 模板,然后渲染 HTML

javascript - 您如何编写一个按钮,使其在单击时可以使 iframe 变为全屏?

html - 如何在 Visual Studio Code 版本 : 1. 35.1 中关闭自动格式化(系统设置)

php - 在 Mustache (php) 中使用点符号是不好的做法吗?

javascript - 如果 JSON 对象位于嵌套数组中,如何使用 Mustache.js?

javascript - 浏览器刷新时重复数据 - Nodejs