uniapp 页面间的传值

uniapp 页面间的传值

一、数据存储在本地缓存

index页面

uni.setStorage({
                key:'swiper_info',
                data:this.info,
                success:()=>{
                    console.log('存入成功')
                }
            })

test页面

uni.getStorage({
                key:'swiper_info',
                success:(res)=>{
                    this.info = res.data
                    console.log(this.info)
                }
            })

 

二、使用uni.$emit()和uni.$on() 进行页面间通讯

uni.$emit、 uni.$on 、 uni.$once 、uni.$off ,可以方便的进行页面的通讯 ,触发的事件都是 App 全局级别的,跨任意组件,页面,nvue,vue 等。

uni.$on监听

uni.$on('update',(data)=>{
console.log('监听到时间来自update,携带参数msg为:' + data.msg)
})

 

uni.$emit 触发

uni.$emit('update',{msg:'页面更新'})

 

因为事件监听是全局的,所以使用 uni.$on ,需要使用 uni.$off 移除全局的事件监听,避免重复监听。

onUnload() {  
    // 移除监听事件  
        uni.$off('login');  
    },

 

一次性的事件,直接使用 uni.$once 监听,不需要移除。

 

三、通过vuex

 

computed: {
...mapState(['login', 'city'])
},
methods: {
...mapMutations(['ShowGood'])
}

 

store文件

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
    state: {
        city:'城市名',
        login:false
    },
    mutations: {
        ShowGood(){
            console.log('that is good!!!')
        }
    },
    actions: {}
})

export default store
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值