Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Das anfängliche Laden der Baidu-Freigabe in der Vue-Komponente ist fehlgeschlagen?

Ich verwende Baidu Sharing in meinem Vue-Projekt, der Code lautet wie folgt
in der Vorlage

js (eingefügt in erstellt)

Beim ersten Laden werden die von Baidu freigegebenen Schaltflächenbilder nicht angezeigt. F12 hat festgestellt, dass die Klassen- und Klickereignisse nicht wirksam wurden.
Nach dem Aktualisieren wird es normal angezeigt

在mounted中使用this.$nextTick,也有点问题

montiert() {

        let _this = this;
        this.$nextTick(function () {
            window._bd_share_config = {
                common : {
                    bdText : _this.art.title,
                    bdDesc : _this.art.abstract,
                    bdPic : "http://www.jubao56.com/upload_admin/2016-07-05%2010:08:50-banner4_m.jpg",
                },
                share : [{
                    tag:"share_0",
                    bdSize : 24
                }],
            };
            const s = document.createElement('script');
            s.type = 'text/javascript';
            s.src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5);
            document.body.appendChild(s);
        })
    },
PHP中文网PHP中文网2669 Tage vor884

Antworte allen(1)Ich werde antworten

  • PHP中文网

    PHP中文网2017-06-28 09:28:32

    js写在 mounted事件里,this.$nextTick(() => { ...... });

    百度分享的 js可能会 立即执行并查找DOM元素。
    created事件触发时,并不存在DOM

    Antwort
    0
  • StornierenAntwort