uni-app 监听全局变量变化
时间: 2023-08-30 12:10:33 浏览: 282
监听网络变化
可以使用Vuex来实现全局变量的监听和更新。
1. 在uni-app中,可以在main.js中创建Vuex Store:
```
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++
}
}
})
Vue.prototype.$store = store
export default {
store
}
```
2. 在需要监听全局变量的组件中,可以使用computed属性来监听state中的变量:
```
<template>
<view>
<text>Count: {{ count }}</text>
</view>
</template>
<script>
export default {
computed: {
count() {
return this.$store.state.count
}
}
}
</script>
```
当全局变量count发生变化时,组件中的count也会随之更新。
3. 如果需要在全局变量发生变化时触发其他操作,可以使用watch监听state中的变量:
```
<template>
<view>
<text>Count: {{ count }}</text>
</view>
</template>
<script>
export default {
computed: {
count() {
return this.$store.state.count
}
},
watch: {
count(newVal, oldVal) {
console.log('count changed from', oldVal, 'to', newVal)
}
}
}
</script>
```
当全局变量count发生变化时,会触发watch中的回调函数,可以在此进行其他操作。
阅读全文