通过使用 eventBus 来监听
eventBus.js
javascript
import Vue from 'vue';
export const EventBus = new Vue();
app.vue
xml
<script>
import {
EventBus
} from './utils/eventBus.js';
export default {
globalData: {
spid: 0
},
methods: {
},
onLoad() {
console.log('onoad')
},
onLaunch: function() {
let that = this;
setInterval(() => {
that.globalData.spid++;
EventBus.$emit('spidChanged', that.globalData.spid); // Emit event
}, 1000);
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style>
/*每个页面公共css */
</style>
其他页面使用
xml
<template>
<div>
<p>Current spid: {{ spid }}</p>
</div>
</template>
<script>
import { EventBus } from './eventBus';
export default {
data() {
return {
spid: 0
};
},
created() {
EventBus.$on('spidChanged', (newSpid) => {
this.spid = newSpid;
});
},
beforeDestroy() {
EventBus.$off('spidChanged'); // Clean up the listener
}
}
</script>