今天遇到一个需求,需要跳转商品页选择一个商品之后返回原页面,将选择的商品带入原页面。
下面是实现代码:
商品选择页面
openDetail(item, index) {
let pages = getCurrentPages(); // 获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
let nowPage = pages[pages.length - 1]; //当前页页面实例
let prevPage = pages[pages.length - 2]; //上一页页面实例
prevPage.$vm.otherFun(item)// 給上一頁綁定方法otherFun,傳參object
uni.navigateBack({
delta:1 // 可以不傳delta值,默認為1
})
},
原页面:
otherFun(item) {
console.log("item", item);
_this.form.goodsName = item.name;
_this.form.goodsId = item.id;
},
需要注意的是,原页面的this指向问题,所以在外部定义一个_this,在mounted中赋值_this=this
let _this = undefined;
mounted() {
_this = this;
},