uni.navigateTo传递json对象
时间: 2024-01-18 07:16:25 浏览: 73
uni.navigateTo可以通过url传递json对象。具体方法如下:
1.发送方页面使用encodeURIComponent(JSON.stringify())将json对象转换为字符串,并将其作为参数添加到url中。
2.接收方页面使用decodeURIComponent()和JSON.parse()将字符串转换回json对象。
以下是两个例子:
1.发送方页面:
```javascript
let data = {name: 'John', age: 30};
uni.navigateTo({
url: '/pages/receiveData/receiveData?data=' + encodeURIComponent(JSON.stringify(data))
});
```
2.接收方页面:
```javascript
onLoad: function (options) {
let data = JSON.parse(decodeURIComponent(options.data));
console.log(data); // 输出:{name: 'John', age: 30}
}
```
相关问题
uni.navigateTo传递对象的写法
uni.navigateTo传递对象的写法可以使用JSON.stringify()方法将对象转换为字符串,然后在跳转页面时使用query参数传递。例如:
uni.navigateTo({
url: '/pages/detail/detail?data=' + JSON.stringify(obj)
})
在跳转到detail页面后,可以使用JSON.parse()方法将字符串转换为对象,如下:
onLoad: function(options) {
var data = JSON.parse(options.data);
console.log(data);
}
uni-app页面跳转uni.navigateTo传递对象参数
在uni-app中,可以通过uni.navigateTo方法实现页面跳转,并且可以通过query参数传递字符串类型的参数。如果要传递对象参数,可以将对象转换为字符串再通过query参数传递。
例如,需要传递一个包含姓名和年龄的对象参数:
```javascript
let person = {
name: '张三',
age: 20
};
```
可以通过JSON.stringify方法将对象转换为字符串:
```javascript
let personString = JSON.stringify(person);
```
然后在调用uni.navigateTo方法时,通过query参数传递字符串类型的参数:
```javascript
uni.navigateTo({
url: '/pages/detail/detail?person=' + encodeURIComponent(personString)
});
```
在跳转到detail页面后,可以通过uni.getStorageSync方法获取query参数中的person字符串,并通过JSON.parse方法将其转换为对象:
```javascript
let personString = decodeURIComponent(options.query.person);
let person = JSON.parse(personString);
```
注意,在传递query参数时,需要使用encodeURIComponent方法对字符串进行编码,以避免特殊字符引起的问题。在获取query参数时,需要使用decodeURIComponent方法对字符串进行解码。
阅读全文