e m i t , emit, emit,on 方法
onBackPress(e) { //监听返回事件api、与methods同级
uni.$emit("handClick",{//点击返回的这个页面触发一个事件,使用uni.$emit(“handClick”,{})
rightText: this.rightText, //传递的参数
checkedBoxArray: this.checkedBoxArray
});
uni.switchTab({ //返回的页面的路径,此方式返回的是tabBar页面,返回其他子级页面请使用uni.navigateBack(OBJECT)
url: '/pages/like/index'
})
return true //true表示禁止默认返回
},
onShow() { //通过onshow来自触发
uni.$on( 'handClick', res => { //通过uni.$on('handClick',function())触发
console.log(res)//res传递的数据
this.searchObj = res
uni.$off('handClick');//解除监听
})
},
页面栈方法
- 二级页面调用getCurrentPages()方法
bindClick(e) {
let pages = getCurrentPages(); // 获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
let nowPage = pages[pages.length - 1]; //当前页页面实例
let prevPage = pages[pages.length - 2]; //上一页页面实例
prevPage.$vm.regionBindClick(e);// 給上一頁綁定方法otherFun,傳參object
uni.navigateBack({
delta:1 // 可以不傳delta值,默認為1
})
},
- 一级页面
regionBindClick(e) {
this.selectRegion = e.item;
},