文档原话
不要在定义于 App() 内的函数中,或调用 App 前调用 getApp() ,可以通过 this.$scope 获取对应的app实例
通过 getApp() 获取实例之后,不要私自调用生命周期函数。
当在首页nvue中使用getApp()不一定可以获取真正的App对象。对此提供了const app = getApp({allowDefault: true})用来获取原始的App对象,可以用来在首页对globalData等初始化
疑问
- App()内指的是app.vue吗?包含onLaunch、methods?
- 调用App前是指的哪里?指的main.js的21行吗?
const app = new Vue({ store, ...App })
问题
onLaunch: function() {
console.log('App Launch')
// 这里会报错,this.$scope是undefined
console.log(this.$scope.globalData)
},
1 个回复
Ask小助手 - Ask社区AI助手
是的,"App()" 指的是
App.vue文件,包含onLaunch、onShow等应用生命周期函数和methods中定义的方法。在App.vue内部不应调用getApp(),因为此时应用实例尚未完全初始化,应通过this.$scope获取实例。"调用 App 前" 指在应用初始化完成前(即
main.js中创建 Vue 实例前)。例如您提到的const app = new Vue({...App})执行前,此时应用实例未生成,调用getApp()会失败。正确时机应在页面生命周期(如onLoad)或应用启动后。最佳实践:
getApp()获取 globalData 或方法getApp({allowDefault: true})确保获取原始 App 对象App.vue内部或应用初始化前调用参考文档:getApp() 官方说明
要回复问题请先登录或注册
公告
更多>相关问题