0

我正在使用无法更改的外部 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}} 使用车把中的其中一个图像时,由于井号符号,它会抛出一个不稳定的图像。

任何人都知道如何解决它?

4

2 回答 2

1

Handlebars 故意简单,因此模板中没有太多功能。但是,仅仅因为某些外部 API 让您感到丑陋并不意味着您必须按原样使用它。在任何东西进入模板之前,我会对 JavaScript 中的数据进行一些了解,就像这样简单:

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

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

于 2013-03-20T01:13:47.493 回答
0

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

<img src="{{ image.[1].[#text] }}" alt="{{ realname }}" />
于 2014-12-21T01:42:17.320 回答