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. thinkphp6使用验证器 信息如何输出到前端页面2. 在应用配置文件 app.php 中找不到’route_check_cache’配置项3. 如何判断数据库的库和表是否存在?4. 对于数字型SQL注入如何拦截?验证是否为数字能否有效?5. css - 手机浏览器的兼容问题,微信和其它下载的浏览器打开没有问题,谷歌也测试过,就是手机自带的浏览器有问题。6. mysql中的最大连接数就是请求数吗?那IOPS又表示什么意思呢?7. python - py2.7.12 + django1.11版 本机静态文件配置问题8. yum - linux7.0安装mysql的问题9. mysql - 多表关联查询的实现方法?10. 这是什么情况???
