如何逃脱手柄中的哈希标志?

时间:2013-03-20 00:43:47

标签: json handlebars.js

我正在使用一个我无法更改的外部API,其中包括返回一个图像列表:

"image": [
    {"#text": "http://userserve-ak.last.fm/serve/34/24816431.jpg", "size": "small"},
    {"#text": "http://userserve-ak.last.fm/serve/64/24816431.jpg", "size": "medium"},
    {"#text": "http://userserve-ak.last.fm/serve/126/24816431.jpg", "size": "large"},
    {"#text": "http://userserve-ak.last.fm/serve/252/24816431.jpg", "size": "extralarge"},
    {"#text": "http://userserve-ak.last.fm/serve/_/24816431/Art+Brut+street.jpg", "size": "mega"}
],

然而,当试图通过{{image.2。#text}}在把手中使用其中一个图像时,由于哈希符号,它会引发抖动。

任何人都有任何想法如何解决它?

2 个答案:

答案 0 :(得分:1)

把手故意简单,所以模板中没有太多东西。然而,仅仅因为一些外部API正在喂你丑陋并不意味着你必须按原样使用它。在任何事情进入模板之前,我对JavaScript中的数据有所了解,这很简单:

for(var i = 0; i < image.length; ++i) {
    image[i].text = image[i]['#text'];
    delete image[i]['#text'];
}

会让你的模板谈论{{image.2.text}},你的问题就会消失。

答案 1 :(得分:0)

使用Backbone和Hanledbars的Last.fm API遇到了同样的问题,这让它在模板中运行:

<img src="{{ image.[1].[#text] }}" alt="{{ realname }}" />