好吧,我的聚合物模板发生了一件奇怪的事情
// 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调用中的一个响应,而不是正确列出每个响应。我的结果如下:
它应该是这样的:
似乎我正在提出所有正确的请求,但模板是 - 我如何正确处理每个响应,所以我列出所有响应而不是复制一个值?
任何帮助都会很棒。
答案 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>