uniapp面试题_uniapp路由传参有几种方式

后端 (7) 2024-03-23 09:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说uniapp面试题_uniapp路由传参有几种方式,希望能够帮助你!!!。
Uniapp路由传递数据
UniApp 中,可以使用路由参数传递来在页面之间传递数据UniApp提供了多种传递参数的方式,下面列举了几种常用的方法:

1. Query 参数传递:
在 `uni.navigateTo` 或 `uni.redirectTo` 方法中,可以通过 `url` 参数携带 Query 参数来传递数据。示例代码如下:

```javascript
uni.navigateTo({
url: '/pages/detail?id=1&name=example'
});
```

在目标页面中,可以通过 `this.$route.query` 或 `uni.getStorageSync` 方法来 Query 参数的值。

2. URL 传参:
在 `uni.navigateTo` 或 `uni.redirectTo` 方法中,可以通过在 URL 中拼接参数来传递数据。示例代码如下:

```javascript
uni.navigateTo({
url: '/pages/detail/1'
});
```

在目标页面的 `pages.json` 中配置路由时,可以使用动态路由来匹配 URL 参数。例如:

```json
{
"path": "/pages/detail/:id",
"style": {
"navigationBarTitleText": "详情页"
}
}
```

在目标页面中,可以通过 `this.$route.params` 或 `uni.getStorageSync` 方法来 URL 参数的值。

3. Storage 传参:
使用 `uni.setStorageSync` 方法将数据存储在本地缓存中,然后在目标页面中使用 `uni.getStorageSync` 方法来存储的数据。示例代码如下:

在当前页面:

```javascript
uni.setStorageSync('data', { id: 1, name: 'example' });
uni.navigateTo({
url: '/pages/detail'
});
```

在目标页面:

```javascript
const data = uni.getStorageSync('data');
console.log(data);
```

以上是几种常用的 UniApp 路由参数传递方式。根据实际需求,选择合适的方式来传递数据。在目标页面中,可以通过 `this.$route.query`、`this.$route.params` 或 `uni.getStorageSync` 方法来传递的参数值。今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。