1

在 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 是如何返回的,也许我解释错了。

我将在 Dust.js 中使用什么语法来遍历该数组中的每个对象?

4

2 回答 2

5

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

{#.}
  {text} - {id}<br />
{/.}
于 2013-02-17T20:25:08.167 回答
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。

于 2013-02-14T16:36:03.217 回答