1

我不太确定如何使用 Mustache.js 从这个嵌套对象中获取数据。我正在使用 YQL 多查询,它可以带回嵌套的数据对象https://gist.github.com/866247。当我尝试访问嵌套对象时出现问题

数据像这样返回,其中 0 和 1 是其中包含对象的数组的一部分。这是树http://cl.ly/1e1b3O3U233e2I0d3g2f的图片。

   query
       results
          results
               0
               1

我已经尝试了下面的模板,但我没有得到任何回报。我认为问题在于第二个“结果键”随数组返回,而小胡子不知道该怎么做。

   "{{#query}}
                {{#results}}
                    {{#results}}
                        {{#photo}}
                            {{farm}}
                        {{#photo}}
                    {{/results}}
                {{/results}}
            {{/query}}"

如果这对任何人都有意义,如果没有密钥,我如何访问数组中的嵌套对象?

4

2 回答 2

1

我认为您应该将数据扁平化为更简单的格式以编写有意义的模板,但您可以按原样获得非常接近您想要的内容。

我看到的一个无法克服的问题是“结果”在“结果”内部,导致标签关闭不匹配。做这样的事情可以解决这个问题:

 data.query.flattened = data.query.results.results;

功能示例在这里

您可以在本文中找到更多的小胡子技巧。

于 2011-03-11T21:14:49.827 回答
0

这是 Handlebars 试图解决的 Mustache 问题类型之一——遍历模板中的对象:

http://handlebars.strobeapp.com/#paths

您可以直接访问它,就像它是一个目录结构一样。我知道这本身不是您问题的答案,但除了扁平化数据之外,它是一种替代解决方案。

于 2011-03-11T21:18:08.807 回答