javascript - vue組件中使用百度分享初次加載失敗?
問題描述
我的vue項目中使用了百度分享,代碼如下template中js(放在created中)
初次加載時,百度分享的按鈕圖片都不顯示,F12發現class和點擊事件都未生效刷新后就正常顯示使用
在mounted中使用this.$nextTick,也有點問題
mounted() {
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);}) },
問題解答
回答1:js寫在 mounted事件里,this.$nextTick(() => { ...... });
百度分享的 js可能會 立即執行并查找DOM元素。created事件觸發時,并不存在DOM
相關文章:
1. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?2. mysql - mybatis 查詢 統計某個列數量 ,根據一個列,分組查詢,在xml文件如何接收3. mysql - 連續的24條sql語句,一條條查,還是union all好?4. mysql - 數據庫多表聯合查詢插入其他庫5. mysql建表報錯,查手冊看不懂,求解?6. php - mysql連表統計查詢7. 好奇,求大神解答,類似淘寶的大購物量網站,訂單數據表該怎么設計?8. mysql主從復制 REPLICATE_DO_DB 參數從服務器reboot后每次都回滾為初始設置9. MySQL數據庫中文亂碼的原因10. phpStudy怎么把mysql升級到7.x
