uniapp|switchTab切换后刷新目标页面

小程序需要从书籍选择后跳转到lessons的标签页:

toNextLevel(pth_book) {
    let globalData = getApp().globalData
    //转到课程页面
    let book_idx = parseInt(pth_book.index) - 1
    globalData.book_idx = book_idx
    globalData.$switchBook = true
    console.log('转到课程页面')
    uni.switchTab({
        url:"../lessons/lessons"
    })
},

但直接这样做的话目标页面lesson中数据并不会更新,所以添加了一个全局变量$switchBook来控制,即上句中的:

globalData.$switchBook = true

添加全局变量的办法我使用的是官方推荐的globalData, 参考:https://ask.dcloud.net.cn/article/35021

使用globalData添加全局变量

globalData是一种比较简单的全局变量使用方式。

定义:App.vue

<script>  
    export default {  
        globalData: {  
            text: 'text'  
        },  
        onLaunch: function() {  
            console.log('App Launch')  
        },  
        onShow: function() {  
            console.log('App Show')  
        },  
        onHide: function() {  
            console.log('App Hide')  
        }  
    }  
</script>  

<style>  
    /*每个页面公共css */  
</style>  

js中操作globalData的方式如下:

赋值:getApp().globalData.text = 'test'

取值:console.log(getApp().globalData.text) // 'test'

我的globalData

$switchBook默认设置为false

    export default {
        globalData: {
            //是否切换书籍
            $switchBook: false,

onShow中更新数据

这样就可以在lessons.vue的onShow方法中做如下判断进行页面的数据更新,注意更新完后$switchBook要设置为false。

页面lessons.vue

onShow() { //books中切换书籍的时候会引起本页面刷新
    let globalData = getApp().globalData
    if(globalData.$switchBook){
        this.getUserConfig()
        globalData.$switchBook = false
    }
},
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱玩的安哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值