【发布时间】:2015-06-13 03:31:21
【问题描述】:
好吧,我的聚合物模板发生了一件奇怪的事情
<polymer-element name="my-playlist" attributes="info">
<template>
<core-ajax url="/getlist" method="POST" auto response="{{data}}" handleAs="json">
</core-ajax>
<style>
</style>
<core-selector class="list">
<template repeat="{{k in data}}">
<core-ajax url="http://api.soundcloud.com/tracks/{{k.track}}.json?client_id=9a6dccd301f1d1cbab751e0a1ec82e2e" method="GET" auto response="{{response}}" handleAs="json">
</core-ajax>
<div class="item">
{{response.genre}}
</div>
</template>
</core-selector>
</template>
<script>
Polymer();
</script>
</polymer-element>
我从中得到的是我得到的答复之一的重复。我得到三个正确的条目,但 {{response.genre}} 重复来自 ajax 调用的响应之一,而不是正确列出每个响应。我的结果如下:
- 节奏布鲁斯
- 节奏布鲁斯
- 节奏布鲁斯
它应该是这样的:
- 说唱
- 节奏布鲁斯
- 爵士乐
似乎我提出了所有正确的请求,但模板是 - 我如何正确处理每个响应,以便我列出所有响应而不是重复一个值?
任何帮助都会很棒。
【问题讨论】:
-
您使用的是 Polymer 0.5 还是 1.0,因为您的代码看起来像 0.5 代码? 1.0 polymer-project.org/1.0/docs/devguide/templates.html#dom-repeat
-
0.5。我应该升级以实现此功能吗?
-
暂时不需要升级,只是想知道应该用什么代码来回答这个问题。
-
我认为这是因为 response 被视为全局变量,所以你能帮我试一下吗?将 for 循环更改为 {k, i in data} 其中 i 是索引。然后将 ajax 响应更改为写入数组“response='{{response.i}}”'。最后,将 response.genre 更改为 response.i.genre。告诉我这是否有效。
-
我得到一个空白值 - 当我只使用
{{i}}时,我返回了正确的索引,但{{response.i}}没有返回任何内容,而且{{response.i.genre}}为空白。
标签: templates polymer repeat web-component