使用Dustjs迭代对象数组

时间:2013-02-14 16:20:47

标签: javascript json dust.js

在JSONP通话后,我将被退回:

[
    {
        "text": "yo whats up?",
        "id": 1
    },
    {
        "text": "hey man!",
        "id": 2
    },
    {
        "text": "dude.",
        "id": 3
    }
]

下面是实际的API调用:
http://api.twitter.com/1/statuses/user_timeline/codinghorror.json

使用Dust.js我会做类似的事情:

<ul>
{#myPosts}
  <li>{text}, {id}{~n}</li>
{:else}
  <p>Humm...</p>
{/myPosts}
</ul>

但是响应中没有关键的“myPosts”。那就是问题所在。检查API调用也看看如何返回JSON,mabye我正在解释这个错误。

我会在Dust.js中使用什么语法迭代这个数组中的每个对象?

2 个答案:

答案 0 :(得分:5)

您可以使用“当前上下文”快捷方式。

{#.}
  {text} - {id}<br />
{/.}

答案 1 :(得分:1)

dustjs {guide}开始,我会说,你的例子应该已遍历数组。你只需要它

{
    myPosts: [
        {
            "text": "yo whats up?",
            "id": 1
        },
        {
            "text": "hey man!",
            "id": 2
        },
        {
            "text": "dude.",
            "id": 3
        }
    ]
}

Dust Tutorial - Dust under the covers开始,我构建了这个JSFiddle。忽略样板文件,它会自己为收到的JSONP数组添加myPosts前缀并将其传递给dustjs

var jsonp = [...];
dust.render('template', { myPosts: jsonp }, function (err, out) {
...
});

要访问模板中的任何内容,您必须为其命名。没有其他办法,AFAICS。