我正在运行Meteor版本METEOR@1.4.2.3
我最近通过Atmosphere安装了社交媒体分享包。
meteor add ellisonleao:sharerjs.
有关该软件包的更多信息,请访问: http://www.ellison.rocks/sharer.js/
我的模板事件处理程序如下所示:
Template.detail.events({
"click .sharer": function() {
//add new buttons with share behaviour
$('.postedImagesWell').append(<button class="sharer button" data-sharer="facebook" data-url="https://ellisonleao.github.io/sharer.js/">Share on Facebook</button>);
window.Sharer.init();
}
});
在代码中找到下面的模板:
<template name="detail">
<div class="postedImagesWell">
<img class = "img-responsive img-rounded postedImages" id = "trial" src="{{this.photo.url}}" alt="thumbnail" >
</template>
当我跑步时点击Share on Facebook
链接。我在浏览器中看到此错误消息:
Uncaught TypeError: Cannot read property 'init' of undefined
如何解决问题的任何帮助都会很棒!
提前致谢
答案 0 :(得分:1)
你应该尝试在这个lib的大气页面上列出的其他回购:https://github.com/okmttdhr/sharer.npm.js
另外,我认为您不需要使用jquery附加共享按钮。只需将按钮添加到模板,然后在单击侦听器上,而不是调用window.Sharer
,将event
参数添加到侦听器函数,然后实例化新的共享器,如下所示:
import Sharer from 'sharer.npm.js';
// ...
Template.detail.events({
"click .sharer": function(event) {
const sharer = new Sharer(event.target);
sharer.share();
}
});