uniapp子组件跳转页面带参数
在uniapp中,跳转页面是很常见的操作,但在跳转时需要携带参数,这就需要我们了解如何在uniapp中进行子组件的跳转,并传递参数。本文将详细介绍如何在uniapp中实现子组件跳转页面并传递参数的方法。
1.在跳转前将参数存储在data中
在uniapp中传递参数的一个常见方法是将参数存储在data中,然后在跳转前使用setData()方法将参数传递到子组件中。下面是一个示例代码:
//在父组件中定义data
data() {
return {
name: '张三',
age: 18
}
},
methods: {
goToChild() {
uni.navigateTo({
url: '/pages/child/child?name=' + this.data.name + '&age=' + this.data.age
});
}
}
上述代码中,我们定义了一个父组件,并在data中定义了name和age两个参数。在goToChild()方法中,使用uni.navigateTo()方法跳转到child组件,并将参数拼接在url中。
2.在子组件中接收参数
在子组件中,我们可以通过onLoad()方法来接收参数。在父组件传递参数时,通过拼接url的方式将参数传递进去,可以通过options参数的方式在子组件中接收到。
下面是示例代码:
//在子组件中接收参数
onLoad(options) {
this.setData({
name: options.name,
age: options.age
})
}
上述代码中,在onLoad()方法中通过options参数来接收参数,并将参数存储在子组件的data中。
3.使用query参数传递参数
除了上述方法,还可以使用query参数来传递参数,这种方法更加简洁。我们可以在跳转时通过query参数将参数传递到子组件中,子组件中可以通过this.$mp.query来接收参数。
下面是示例代码:
//在父组件中跳转到子组件并传递参数
this.$uni.navigateTo({
url:'/pages/child/child?name=张三&age=18'
})
//在子组件中接收参数
onLoad() {
const {name, age} = this.$mp.query
this.setData({
name,
age
})
}
上述代码中,我们在跳转页面时直接将参数拼接在url中,并在子组件的onLoad()方法中使用this.$mp.query来接收参数。
总结
以上就是uniapp中进行子组件跳转页面并传递参数的方法。通过将参数存储在data中,并在跳转前通过setData()方法将参数传递到子组件中,或者在跳转时使用query参数来传递参数,子组件中接收到参数后便可以直接使用了。