Как исправить следующую ошибку: "Не удается прочитать свойство 'init' из неопределенного"?
Я использую метеор релиз METEOR@1.4.2.3
Я недавно установил пакет обмена социальными сетями через Атмосферу.
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
Любая помощь в том, как решить проблему, будет отличной!
заранее спасибо
1 ответ
Вам следует попробовать другое репо, указанное на странице атмосферы этой библиотеки: 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();
}
});