背景:
uniapp生成的h5页面需要嵌入显示在APP端(ios+安卓),APP端需要调用H5页面内的一个方法,那个方法必须要在H5项目的最外层对象window上,但是在vue里,所有的方法都是在组件内部声明的,也只能在组件内部调用,并没有绑定window对象下面,这样一来,vue组件里定义的方法怎么才能暴露给最外层window对象并提供给外部调用呢?
经实验:在app.vue或页面各生命周期函数内写window.方法名=function(){}这种传统的方式并不行,后来发现是写法的问题。
正确新增window方法的代码如下:
mounted() {
// 将tt方法绑定到window下面,提供给外部调用
window['tt'] = () => {
this.getList()
}
},
methods: {
getList() {
// to do something
}
}
ps:大家有更好的方式也欢迎留言交流,保佑每天不加班~