Как исправить следующую ошибку: "Не удается прочитать свойство '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();
  }
});
Другие вопросы по тегам