uni-app的全局通信方式
1.使用globalData
(1)先在APP.vue里面创建一个属性
// 全局变量的一个机制,
//注意: globalData,在APP.vue里和onshow等方法同级。
globalData:{//定义一个属性text
text:'全局变量属性'
}
(2)调用方式
首先要定义一个变量获取APP.vue这个对象,然后获取它的属性text,展示出来
<template>
<view class="content">
<!-- 展示 -->
{
{text}}
</view>
</template>
<script>
//获取对象app.vue的globalData
var globalData = getApp().globalData
export default {
data() {
return {
//获取到text属性的值
text: globalData.text
}
}
}
</script>
如图:
2.事件订阅
依然是在APP.vue文件,写一个事件注册
onShow: function() {
uni.$on("testEvent",res=>{
console.log(res)
})
},
然后在index文件创建一个按钮触发这个事件
<!-- 创建button,点击触发事件 -->
<button type="default" @tap="testEvent">ok</button>
methods:{
testEvent(){
// name是传入的参数
uni.$emit("testEvent",{
name:"mesa"})
}
}
这个时候点击按钮,就会打印这个传入的参数
3.使用Vuex
首先创建一个js文件,命名为store,
引入vuex,创建一个对象
import Vue from "vue"
import Vuex from "vuex"
//注入全局
Vue.use(