uni-app跨页面传递数据
时间: 2023-11-26 16:06:39 浏览: 109
uni-app跨页面传递数据可以使用uni.navigateTo和uni.redirectTo的参数传递,也可以使用uni.$emit和uni.$on进行页面间通讯。具体方法如下:
1.使用uni.navigateTo和uni.redirectTo的参数传递
在跳转到目标页面时,可以在url后面添加参数,例如:
```javascript
uni.navigateTo({
url: '/pages/target/target?id=123&name=uni-app'
})
```
在目标页面中,可以通过以下方式获取参数:
```javascript
export default {
onLoad(options) {
console.log(options.id) // 输出:123
console.log(options.name) // 输出:uni-app
}
}
```
2.使用uni.$emit和uni.$on进行页面间通讯
在发送方页面中,可以使用uni.$emit触发一个自定义事件,并传递数据:
```javascript
uni.$emit('eventName', {id: 123, name: 'uni-app'})
```
在接收方页面中,可以使用uni.$on监听该自定义事件,并获取数据:
```javascript
export default {
mounted() {
uni.$on('eventName', (data) => {
console.log(data.id) // 输出:123
console.log(data.name) // 输出:uni-app
})
},
beforeDestroy() {
uni.$off('eventName') // 取消监听
}
}
```
阅读全文