uni-app返回页面不触发页面刷新问题 A页面到B页面B页面返回A页面刷新数问题
A页面加入
onHide(){
console.log('this.ifOnShow=true')
this.ifOnShow=true
},
onShow(){
if(this.ifOnShow){
//这是要刷新的数据
this.getUserRoleId()
this.getWorkDetails(this.orderDetails)
console.log('工单详情',this.orderDetails)
}
},
data() {
return {
ifOnShow:false,
}
}
最后解决
我们在用 uni-app 开发前端时,有时在返回上一页后要刷新上一页的数据,如登录后返回上一页刷新登录状态。我们可以通过 uni.navigateBack 的成功回调函数来实现。具体实现方式如下:
要打开登录页面的主页面中的主要代码如下
<template>
<view>
<button class="cu-btn" @tap="toView('login/login')">登录</button>
</view>
</template>
<script>
export default {
methods: {
toView(page) {
uni.navigateTo({
url: `/pages/${page}`
})
}
},
onLoad(option) {
console.info('调用了 onLoad:' + option)
}
}
</script>
登录页面主要代码如下
<template>
<view>
<button class="cu-btn" @tap="handleLogin">立即登录</button>
</view>
</template>
<script>
export default {
methods: {
handleLogin() {
const delta = 1 // 返回的页面数
uni.navigateBack({
delta: delta,
success: () => {
const pages = getCurrentPages() // 获取当前页面栈数组,第一个元素为首页,最后一个元素为当前页面
let page = pages[Math.max(pages.length - 1 - delta, 0)] // 要返回到的页面,超过页面栈,则为首页
page.onLoad(page.options) // 通过调用页面的 onLoad 里面的处理逻辑实现刷新数据
}
})
}
}
}
</script>
10 个评论
要回复文章请先登录或注册
jtshushu (作者)
1***@qq.com
jtshushu (作者)
5***@qq.com
LikeU恋爱交友
2***@qq.com
今天回复我了吗
jtshushu (作者)
jtshushu (作者)
uniapp追随者