Javascript 流星与色贼赢了';合作

Javascript 流星与色贼赢了';合作,javascript,jquery,meteor,Javascript,Jquery,Meteor,我一直在使用meteor创建一个显示音乐专辑列表的小项目。现在,音乐专辑数据存储在template helper中,如下所示: var albumsData = [ { artist:'artist name', title: 'title album', url: 'http://...', review: 'Lore ipsum', sauce:'lostyears.png' },

我一直在使用meteor创建一个显示音乐专辑列表的小项目。现在,音乐专辑数据存储在template helper中,如下所示:

    var albumsData = [
      {
        artist:'artist name',
        title: 'title album',
        url: 'http://...',
        review: 'Lore ipsum',
        sauce:'lostyears.png'
      }, ...
];
Template.albumsList.helpers({
  albums: albumsData
});
与之相关的模板部分为:

 <div class="album-info">
    <div class="unit size3of5">
        <h6>{{artist}}</h6>
        <h2 id="primaryColor">{{title}}</h2>
        <a href="{{url}}" class="secondaryColor">Listen on...</a>
        <p>{{review}}</p>
    </div> 
    <div class="unit size2of5">
       <div class="album-Image">
         <img id="myImg" src="{{sauce}}">
       </div>
    </div>
</div>
在模板项目中使用颜色的方式如下:

<script>
  $(window).ready(function(){
    var colorThief = new ColorThief();
    var color = colorThief.getColor('{{sauce}}');
    document.getElementById("primaryColor").style.color = "rgb(" + color + ")";
   });
</script>
    Template.albumItem.helpers({

  color: function() {
    var colorThief = new ColorThief();
    return colorThief.getColor(this.sauce);
  }

});
<h2 style="color:{{ color }}">{{title}}</h2>
{{title}

仍然不起作用,但我确信这是一个正确的方向,也许现在我们需要弄清楚如何知道这个模板在图像加载后开始…

尝试替换
var color=colorTheep.getColor(“{sause}”)带有
var color=colorshift.getColor($('#myImg')

尝试替换
var color=colorshift.getColor('{saint}')带有
var color=colorshift.getColor($('#myImg')

我用下面的代码实现了这一点

{{#each albums}}
    {{> ImageBanner}}
{{/each}}
图片横幅模板为(请根据您的设计进行编辑):


我用下面的代码得到了这个

{{#each albums}}
    {{> ImageBanner}}
{{/each}}
图片横幅模板为(请根据您的设计进行编辑):


谢谢你,我试过了,但仍然不起作用,现在我要尝试Kaoskeyawhat does
console.log(color)建议的方法发回?它说颜色没有定义!这就像它没有创建那个变量一样糟糕,我在代码中犯了一个错误。我更新了它。谢谢,我试过了,但仍然不起作用,现在我要尝试Kaoskeyawhat does
console.log(color)建议的方法发回?它说颜色没有定义!这就像它没有创建那个变量一样糟糕,我在代码中犯了一个错误。我更新了它。谢谢,我试过了,但仍然不起作用,现在我要尝试Kaoskeyawhat does
console.log(color)建议的方法发回?它说颜色没有定义!这就像它没有创建那个变量一样糟糕,我在代码中犯了一个错误。我更新了它。我尝试了这个,但不起作用。加上现在相册数据不再显示。我想这不起作用的原因是因为图像需要先引导以分离颜色是的,我很确定图像也需要加载,不确定albumsData在哪里不显示。。我会在明天早上看一看,如果仍然没有排序,我会更新。我尝试了这个,但没有工作。加上现在相册数据不再显示。我想这不起作用的原因是因为图像需要先引导以分离颜色是的,我很确定图像也需要加载,不确定albumsData在哪里不显示。。我会在明天早上看一看,如果仍然没有排序,我会更新。我尝试了这个,但没有工作。加上现在相册数据不再显示。我想这不起作用的原因是因为图像需要先引导以分离颜色是的,我很确定图像也需要加载,不确定albumsData在哪里不显示。。我会在明天早上查看一下,如果仍然没有排序,我会更新。。
Template.ImageBanner.onCreated(function() {
    var instance = this;
    instance.color = new ReactiveVar("#000000");
});
Template.ImageBanner.helpers({
    getColor: function() {
        var instance = Template.instance();
        function componentToHex(c) {
            var hex = c.toString(16);
            return hex.length == 1 ? "0" + hex : hex;
        }
        function rgbToHex(r, g, b) {
            return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
        }
        var ct = new ColorThief();
        instance.myImage = new Image;

        instance.myImage.onload = function() {
            var rgb = ct.getColor( instance.myImage );
            instance.color.set( rgbToHex( rgb[0], rgb[1], rgb[2] ) );
        }
        instance.myImage.src = this.sauce;
        return Template.instance().color.get();
    },
});