uni.navigateback传参
时间: 2023-11-09 14:51:48 浏览: 154
在uni.navigateBack函数中传递参数可以通过两种方式实现。一种是在uni.navigateBack中使用delta参数指定返回的页面层数,然后在上一页的页面实例中使用data或者props来获取传递的参数。另一种方式是在上一页的页面实例中通过onLoad或者onShow等生命周期方法接收参数并使用。下面是具体的步骤:
1. 使用uni.navigateBack函数时,可以通过delta参数指定返回的页面层数。delta的值为正整数,表示返回几层页面。默认情况下,delta的值为1,即返回上一层页面。
2. 在上一页的页面实例中,可以通过data或者props来接收并使用传递的参数。例如,在上一页的页面实例中定义一个data属性对象,然后在otherFun方法中通过该对象来接收参数。具体的代码如下所示:
```javascript
// A页面
export default {
data() {
return {
name: '',
mobile: ''
}
},
methods: {
otherFun(object) {
if (object) {
this.name = object.name;
this.mobile = object.mobile;
} else {
return;
}
}
}
}
```
3. 在B页面中,调用prevPage.$vm.otherFun方法并传递参数object。具体的代码如下所示:
```javascript
// B页面
let pages = getCurrentPages();
let nowPage = pages[pages.length - 1];
let prevPage = pages[pages.length - 2];
let object = {
name: 'Uzi',
mobile: '176XXXXXXXX'
};
prevPage.$vm.otherFun(object);
uni.navigateBack({
delta: 1
});
```
阅读全文