在使用uni-app框架开发微信小程序过程中,想用globalData设置全局变量,在app.vue页面中,获取globalData,直接用的this.globalData.xxx,但是控制台报错说变量未定义,搜了很多文章都说是这么获取的,我也没搞明白,他们到底是怎么获取的,结果我找了很久的bug,然后发现,在app.vue页面获取globalData不能直接获取,要加一个$options;在其他页面调用要加通过getApp()获取

//App.vue在App.vue页面
<script>
    export default{
        globalData:{
            test:''
        },
        onlaunch:function(){
            //获取全局变量
            console.log(this.$options.globalData.test)
        }
    }
</script>

//other.vue在其他页面调用
<script>
    let App = getApp()
    export default{
        onload:function(){
            //获取全局变量
            console.log(App.globalData.test)
        }
    }
</script>

 

Logo

前往低代码交流专区

更多推荐