BackboneJs 如何遍历集合从每个模型中获取特定值
BackboneJs how to loop through collection get specific value from each model
我有一个 Backbone 集合,我想从其中获取每个模型的特定值,然后将该值插入到 Iframe 中。
所以,我有多个 iframe,我想在其中动态插入数据源,iframe 的基本代码是:
<iframe class="playlist" data-src=""></iframe>
和我的 Backbone 代码:
this.collection.each(function(spotify) {
var service = spotify.get('services').spotify;
var spotifyplayId = service.substr(service.lastIndexOf('/') +1);
console.log(spotifyplayId)
$('iframe.playlist').each(function(spotifyplayId) {
$(this).attr('data-src', 'https://embed.spotify.com/?uri=spotify:user:digster.dk:playlist:'+ spotifyplayId);
});
});
console.log(spotifyplayId)
给了我正确的数据,只有动态插入 Iframes 失败了。我做错了什么?
试试这个
this.collection.each(function(spotify, index) {
var service = spotify.get('services').spotify,
spotifyplayId = service.substr(service.lastIndexOf('/') +1);
$('iframe.playlist').eq(index).attr('data-src', 'https://embed.spotify.com/?uri=spotify:user:digster.dk:playlist:' + spotifyplayId);
});
因为在您的示例中 spotifyplayId
是循环中的索引 (0, 1, 2),但您需要从父范围获取 spotifyplayId
。在我们的例子中,最好使用 .eq 而不是 $.each
.
我有一个 Backbone 集合,我想从其中获取每个模型的特定值,然后将该值插入到 Iframe 中。
所以,我有多个 iframe,我想在其中动态插入数据源,iframe 的基本代码是:
<iframe class="playlist" data-src=""></iframe>
和我的 Backbone 代码:
this.collection.each(function(spotify) {
var service = spotify.get('services').spotify;
var spotifyplayId = service.substr(service.lastIndexOf('/') +1);
console.log(spotifyplayId)
$('iframe.playlist').each(function(spotifyplayId) {
$(this).attr('data-src', 'https://embed.spotify.com/?uri=spotify:user:digster.dk:playlist:'+ spotifyplayId);
});
});
console.log(spotifyplayId)
给了我正确的数据,只有动态插入 Iframes 失败了。我做错了什么?
试试这个
this.collection.each(function(spotify, index) {
var service = spotify.get('services').spotify,
spotifyplayId = service.substr(service.lastIndexOf('/') +1);
$('iframe.playlist').eq(index).attr('data-src', 'https://embed.spotify.com/?uri=spotify:user:digster.dk:playlist:' + spotifyplayId);
});
因为在您的示例中 spotifyplayId
是循环中的索引 (0, 1, 2),但您需要从父范围获取 spotifyplayId
。在我们的例子中,最好使用 .eq 而不是 $.each
.