我有这样的JSON结构,想要在灰尘模板中引用64x64图像。由于64x64,这不起作用。
"images": [
{
"dateLastUpdated": "2014-02-24T23:00:00Z",
"links": {
"1024x1024": "http://imghost/some.JPG",
"147x147": "http://imghost/some.JPG",
"358x358": "http://imghost/some.JPG",
"498x498": "http://imghost/some.JPG",
"64x64": "http://imghost/some.JPG",
"726x726": "http://imghost/some.JPG"
},
"status": "OK"
}
],
这是dust.js模板
{#users}
<tr>
<td><img class="thumb" src="{.images[0].links['64x64']}"/></td>
<td>{.title}</td>
</tr>
{/users}
我已经尝试了
{.images[0].links.64x64}
{.images[0].links['64x64']}
{.images[0].links.'64x64'}
{'.images[0].links.64x64'}
我该怎么做?
更新1
我找到了解决这个特定问题但不是一般问题的解决方法。如果我想在循环中引用不同的大小,我会再次遇到同样的问题。
{#users $size="64x64"}
<tr>
<td><img class="thumb" src="{.images[0].links[$size]}"/></td>
<td>{.title}</td>
</tr>
{/users}
更新2
应该在问题中提到dust.js模板:)
答案 0 :(得分:0)
尝试这样的事情
var data = {"images": [
{
"dateLastUpdated": "2014-02-24T23:00:00Z",
"links": {
"1024x1024": "http://imghost/some.JPG",
"147x147": "http://imghost/some.JPG",
"358x358": "http://imghost/some.JPG",
"498x498": "http://imghost/some.JPG",
"64x64": "http://imghost/some.JPG",
"726x726": "http://imghost/some.JPG"
},
"status": "OK"
}
]};
console.log(data.images[0].links['64x64']);
答案 1 :(得分:0)
不幸的是,这是不可能的。 Dust语法不允许键以数字开头。如果您能够在呈现模板之前修改JSON,则可以使用_
或img
为所有这些键添加前缀,然后在您的模板中使用{_1024x1024}
或{img1024x1024}
灰尘模板。