提示!此方法适用于vue2语法的uniapp,且只能在h5中使用!小程序无法使用
最近uniapp有个需求,要在所有页面都显示客服按钮,虽然使用easycom可以省略导入和注册这两步,但依然需要在每个页面的template里编写<your-com />才行,感觉这样还是不太好,于是经过我辛苦的搜索,找到了在h5实现的方法
在main.js里编写,整体实现方法其实和vue2编写js调用式组件差不多
// 首先导入你的组件
import yourCom from './components/your-com/your-com.vue';
app.$mount()
// 一定要编写在mount之后,这里延迟挂载可以避免一些奇怪问题
setTimeout(() => {
// 使用extend创建组件构造器
const yourComConstructor = Vue.extend(yourCom)
// 创建组件实例
const yourComEl = new yourComConstructor()
// 把组件实例挂载出来的dom节点追加到body中(这里可以根据你的实际情况追加到不同节点)
document.body.appendChild(yourComEl.$mount().$el)
}, 1000)
这样这个组件就不用在其他vue页面的template里编写<your-com />了,所有的页面都能显示,不过只能在h5里用,如果有人知道怎么在小程序里实现这种效果,欢迎留言指导