uni.navigateBack如何传参
时间: 2024-01-18 13:15:48 浏览: 133
uni.navigateBack方法可以通过传递一个对象作为参数,将数据传递给上一个页面。具体实现方法如下:
```
// 上一个页面
onLoad: function(options) {
console.log(options) // 打印传递过来的参数
}
// 当前页面
uni.navigateBack({
delta: 1, // 返回的页面数,如果delta为2,则返回上上个页面
success: function() {
var pages = getCurrentPages(); // 获取当前页面栈
var prevPage = pages[pages.length - 1]; // 获取上一个页面实例对象
prevPage.setData({
message: '传递的参数' // 给上一个页面的message赋值
})
}
})
```
其中,上一个页面可以通过onLoad方法获取传递过来的参数,当前页面可以通过setData方法将数据传递给上一个页面。需要注意的是,传递的参数大小不能超过10KB。
相关问题
uni.navigateback传参
在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
});
```
uni.navigateback
uni.navigateBack方法是用于返回上一页的函数,并可以通过delta参数控制返回多少层。例如,使用uni.navigateBack({ delta: 2 });可以返回上上一页。然而,uni.navigateBack方法并不能直接传参,与uni.navigateTo和uni.redirectTo方法不同,它不能通过路由拼接的方式传参。
阅读全文
相关推荐
















