在uniapp
中,返回页面时onLoad
是不会触发的
如果只需要在特定情况下返回上一页才需要刷新数据
可以使用$emit
和$no
去解决
例如:注册完成后返回到首页并隐藏注册按钮,register.vue
和index.vue
register.vue
html
<template>
<view @click="register">立即注册</view>
</template>
<script>
export default {
methods: {
register(){
uni.$emit('register_refresh')
uni.navigateBack({
delta: 1
});
}
}
}
</script>
index.vue
html
<script>
export default {
onLoad() {
// 正常进入页面触发
this.is_login()
// 注册完成后返回触发
uni.$on('register_refresh', () => {
// 执行需要隐藏的按钮,
this.is_ever = false
// 请求用户登陆注册状态
this.is_login()
})
}
}
</script>