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是一种比较大略的全局变量利用办法。

定义: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 }},