问题描述
例如:要做一个截屏分享的功能,从vue2转过来都是this.$mp.getAppWebview(),在vue3下编译出来为空,获取instance之后。里面也没有这个方法
这个是原写法
let ws = instance!.$mp.page.$getAppWebview();
原因分析:
因为是在子组件里调用,获取到构造器后也没拿到,就先获取页面再去拿,在vue2中是支持的,但是在vue3中不支持在组件里拿这个方法
解决方案:
改为如下写法
/* 获取屏幕信息 */
let pages = getCurrentPages();
let page: any = pages[pages.length - 1];
let ws = page.$getAppWebview();
在Vue2到Vue3的迁移过程中,遇到一个问题:在Vue3组件中无法使用`this.$mp.getAppWebview()`来获取AppWebview。原因是Vue3中不支持在组件内直接获取此方法。解决办法是通过`getCurrentPages()`获取页面实例,然后从中取得AppWebview,如下所示:`let pages = getCurrentPages(); let page = pages[pages.length - 1]; let ws = page.$getAppWebview();`这样便能在Vue3环境中实现与Vue2中相同的功能。
2万+

被折叠的 条评论
为什么被折叠?



