uniapp子组件跳转页面带参数

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参数来传递参数,子组件中接收到参数后便可以直接使用了。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。