环境:uniapp,微信小程序,uview1.x,vue2
问题:customBack方法中使用this.$refs获取当前页面中的元素,控制台却打印 undefined
解决办法:
<u-navbar
:border-bottom="false"
:is-back="true"
:title="title"
back-icon-name="close"
back-icon-size="32"
back-icon-color="#222222"
:custom-back="customBack"
></u-navbar>
// 个人封装的模态框,showUp():弹出
<MyModal
ref="navBack"
title="确认要关闭评价码?"
content="关闭后,当前评价无法保存"
cancel-text="残忍离开"
confirm-text="继续评价"
@cancel="outPage"
></MyModal>
customBack() {
// 微信小程序如果使用props向子组件传递function,
// function中的this 指向子组件, 所以需要使用this.$parent获取父组件this
let that
// #ifdef MP-WEIXIN
that = this.$parent
// #endif
// #ifdef APP-PLUS
that = this
// #endif
if (that.rate > 0 || that.commentContent !== '') {
that.$refs.navBack.showUp()
} else {
uni.navigateBack()
}
},