在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中使用什么语法迭代这个数组中的每个对象?
答案 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。