使用Polymer模板重复值重复

时间:2015-06-12 15:21:40

标签: templates polymer repeat web-component

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



// In source-code
function Foo() {
    var bar = new Bar();
}

// In tests
var spy = sinon.spy(Bar);
var foo = new Foo();
console.log(spy.callCount);




我从中得到的是我得到的一个回复的重复。我得到三个正确的条目,但<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>正在重复ajax调用中的一个响应,而不是正确列出每个响应。我的结果如下:

  • 的R&amp;乙
  • 的R&amp;乙
  • 的R&amp;乙

它应该是这样的:

  • 说唱
  • 的R&amp;乙
  • 爵士

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

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

问题在于响应被视为一个全局变量,因此每次重复运行时,它都会写入响应。作为一种解决方案,您应该绑定到可以改变每次重复的内容。

<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>