uniapp路由传参数组
时间: 2023-08-11 13:03:28 浏览: 179
在uni-app中,可以通过路由传递参数给目标页面。有几种方式可以实现参数传递的组合。
1. Query 参数传递:可以通过在路由中添加 query 参数来传递参数。在跳转时可以使用 `uni.navigateTo` 或 `uni.redirectTo` 方法,并在 URL 后面拼接参数。在目标页面中,可以使用 `this.$route.query` 获取传递的参数。
示例:
```javascript
// 跳转时传递参数
uni.navigateTo({
url: '/pages/targetPage?param1=value1¶m2=value2'
});
// 目标页面中获取参数
onLoad() {
console.log(this.$route.query.param1); // 输出:value1
console.log(this.$route.query.param2); // 输出:value2
}
```
2. Params 参数传递:可以通过在路由中添加 params 参数来传递参数。在跳转时可以使用 `uni.navigateTo` 或 `uni.redirectTo` 方法,并在 URL 中以占位符的形式指定参数。在目标页面中,可以使用 `this.$route.params` 获取传递的参数。
示例:
```javascript
// 跳转时传递参数
uni.navigateTo({
url: '/pages/targetPage/param1/value1/param2/value2'
});
// 目标页面中获取参数
onLoad() {
console.log(this.$route.params.param1); // 输出:value1
console.log(this.$route.params.param2); // 输出:value2
}
```
3. Vuex 状态管理传递:如果要在多个页面之间传递参数,并且希望参数在整个应用中共享,可以使用 Vuex 进行状态管理。在发送页面中将参数存储到 Vuex 中,在接收页面中从 Vuex 中获取参数。
示例:
```javascript
// 发送页面
this.$store.commit('SET_PARAM', { param1: 'value1', param2: 'value2' });
// 接收页面
onLoad() {
console.log(this.$store.state.param1); // 输出:value1
console.log(this.$store.state.param2); // 输出:value2
}
```
以上是uni-app中路由传递参数的几种方式,你可以根据具体情况选择适合的方式来传递参数。
阅读全文