使用 Polymer 模板重复的重复值

Duplicate values with Polymer template repeat

好的,我的聚合物模板发生了一件奇怪的事情

<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 调用的响应之一,而不是正确列出每个响应。我的结果如下:

它应该是这样的:

我似乎提出了所有正确的请求,但模板是 - 我如何正确处理每个响应,所以我列出所有响应而不是复制一个值?

任何帮助都会很棒。

问题是 response 被视为全局变量,因此每次您 运行 通过 repeat 时,它都会覆盖它。作为解决方案,您应该绑定到每次重复都会改变的东西。

<template repeat="{{k in data}}">
    <core-ajax url="http://api.soundcloud.com/tracks/{{k.track}}.json?client_id=9a6dccd301f1d1cbab751e0a1ec82e2e" method="GET" auto response="{{k.response}}" handleAs="json">
    </core-ajax>
    <div class="item">
      {{k.response.genre}}
    </div>
</template>