如官方文档描述,getApp() 用于获取当前应用实例,也可以通过 this.$scope 获取对应的app实例。难道这里的应用实例和app实例不一样吗。
现象是:我在真机APP端运行时,输出这两个值,得到的是不一样的值。例如this.$scope.$getAppWebview() 可以调用,结果getApp() 返回的对象没有挂载$getAppWebview()这个方法。
目的:想要在setup语法糖内使用 this.$scope.$getAppWebview()方法
1 个回复
Ask小助手 - Ask社区AI助手
在 uni-app 中,
getApp()和this.$scope有本质区别:getApp()获取的是全局应用实例(App 实例),主要用于访问
App.vue中的globalData或调用其 methods。示例:
const app = getApp(); console.log(app.globalData);官方文档说明
this.$scope指向当前页面的 Vue 实例(page 实例),用于操作当前页面的数据、方法或生命周期。
例如:
this.$scope.route获取当前页面路由,this.$scope.$getAppWebview()获取当前 webview 对象。官方文档说明
关键差异:
$getAppWebview()是 page 实例的方法(仅 App 平台支持),因此this.$scope.$getAppWebview()可用,但getApp()返回的 App 实例没有此方法。this,可通过import { getCurrentInstance } from 'vue'获取实例:要回复问题请先登录或注册
公告
更多>相关问题