uniapp在vue3如何接收页面跳转参数
时间: 2023-12-04 17:03:06 浏览: 395
在 Vue 3 中,使用 Uni-App 接收页面跳转参数的方式与 Vue 2 有所不同。以下是在 Uni-App 中接收页面跳转参数的方法:
1. 在目标页面的 `created` 钩子函数中使用 `uni.getLaunchOptionsSync` 方法获取页面跳转参数。示例代码如下:
```vue
<script>
export default {
created() {
const options = uni.getLaunchOptionsSync()
console.log(options.query) // 打印页面跳转参数
},
}
</script>
```
2. 使用 `onLoad` 或 `onShow` 生命周期钩子函数获取页面跳转参数。示例代码如下:
```vue
<script>
export default {
onLoad(options) {
console.log(options) // 打印页面跳转参数
},
}
</script>
```
在上述代码中,`options` 参数包含了页面跳转时传递的参数。你可以根据需要在相应的钩子函数中处理这些参数。
需要注意的是,以上方法适用于在非组件页面中接收参数。如果在组件中接收参数,可以通过父组件传递 props 的方式来获取参数。
希望以上信息对你有帮助!如果有任何疑问,请随时提问。
相关问题
uniapp vue3 页面跳转传值
在 UniApp 中,可以通过在页面跳转时使用 query 参数或者通过全局事件总线来传递数据。
1. 使用 query 参数传递数据:
在跳转页面时,可以在 URL 中添加 query 参数来传递数据,例如:
```javascript
uni.navigateTo({
url: '/pages/myPage/myPage?id=123&name=张三'
})
```
在接收页面中,可以使用 `this.$route.query` 来获取传递的参数,例如:
```javascript
export default {
mounted() {
console.log(this.$route.query.id) // 输出 123
console.log(this.$route.query.name) // 输出 张三
}
}
```
2. 使用全局事件总线传递数据:
UniApp 中可以使用 uni.$emit 和 uni.$on 来实现全局事件总线,例如:
在 A 页面中:
```javascript
uni.$emit('myEvent', {id: 123, name: '张三'})
uni.navigateTo({
url: '/pages/myPage/myPage'
})
```
在 B 页面中:
```javascript
export default {
mounted() {
uni.$on('myEvent', data => {
console.log(data.id) // 输出 123
console.log(data.name) // 输出 张三
})
}
}
```
使用全局事件总线时需要注意,如果不及时销毁事件监听,可能会导致内存泄漏。可以在生命周期函数中使用 uni.$off 方法销毁事件监听。
uniapp的vue3写法 父页面点击跳转至子页面的时候如何在跳转中将父页面请求的数据传递给子页面 然后子页面如何接受该数据
在uni-app中使用vue3,可以使用vue-router进行页面的跳转。要将父页面请求的数据传递给子页面,可以在路由跳转时通过路由参数传递数据。例如:
在父页面中:
```javascript
// 点击跳转事件
navigateToChildPage() {
let data = { // 父页面请求的数据
name: '张三',
age: 18
}
uni.navigateTo({
url: '/pages/child/child?id=1&data=' + JSON.stringify(data) // 通过路由参数传递数据
})
}
```
在子页面中:
```javascript
export default {
mounted() {
let id = this.$route.query.id // 获取路由参数中的id
let data = JSON.parse(this.$route.query.data) // 获取路由参数中的数据,并转成对象
console.log(id) // 输出:1
console.log(data) // 输出:{name: "张三", age: 18}
}
}
```
在子页面中,可以通过 `$route.query` 获取路由参数中的数据。在上述代码中,通过 `JSON.stringify()` 将父页面请求的数据转成字符串后,通过路由参数传递给了子页面。在子页面中,通过 `JSON.parse()` 将字符串转成对象。
阅读全文