传播星球
传播星球
  • 发布:2024-07-05 10:54
  • 更新:2024-07-05 13:02
  • 阅读:140

App.vue里定义的全局变量,vue页面和nvue页面不通用?

分类:uni-app

我在app.vue里的globalData定义了一个数组a,有两个页面b和c,b是vue,c是nvue,我在c页面向app.vue里的数组a添加数据,返回页面b时在onshow里面打印还是为空,这是怎么回事。
b和c都为vue页面时数据就能同步上。

2024-07-05 10:54 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

我刚才测试按照你的场景复现,是正常的。你再看一下代码或者给我提供更多的代码信息用于复现

  • 传播星球 (作者)

    你好上传了代码截图

    2024-07-05 11:27

  • 传播星球 (作者)

    请用真机测试

    2024-07-05 11:46

传播星球

传播星球 (作者)

代码截图和运行结果

DCloud_UNI_yuhe

DCloud_UNI_yuhe

你是要JSON.stringfy可能在哪个位置失效了,你这样写

<template>  
    <view>  
        <b>vue页面</b>  
        <text>app.globalData. update: {{update}}</text>  
        <text>app.globalData. update: {{update.index}}</text>  
        <button @click="k">跳转nvue页面</button>  
    </view>  
</template>  
<script>  
    // import app from '@/App.vue'  
    export default {  
        data() {  
            return {  
                update: '',  
            }  
        },  
        onLoad() {  
            console.log("全局",this.update)  
        },  
        onShow() {  
            console.log("onShow",getApp().globalData.update)  
            this.update = getApp().globalData.update  
        },  
        methods: {  
            k(){  
                uni.navigateTo({  
                    url:"/pages/dayn/globaldata/global-nvue"  
                })  
            }  
        }  
    }  
</script>
<template>  
    <view>  
        <b>nvue页面</b>  
        <text>app.globalData.update: {{update.index}}</text>  
        <button @click="k">改变update的值</button>  
    </view>  
</template>  
<script>  
    // import app from '@/App.vue'  
    export default {  
        data() {  
            return {  
                update: '',  
            }  
        },  
        onLoad() {  
            this.update = getApp().globalData.update  
        },  
        onShow() {  
        },  
        methods: {  
            k() {  
                this.update.index.push(1)  
                getApp().globalData.update = this.update  
                console.log('nvue', getApp().globalData.update)  
            }  
        }  
    }  
</script>
  • 传播星球 (作者)

    这样可以了,谢谢

    2024-07-05 14:14

要回复问题请先登录注册