【Vue】组件传值

Vue的一大特点就是组件化,在组件共同运用的时候就涉及到了数据共享的问题,关于Vue组件之间数据共享主要解决方案就是组件传值,那么Vue组件传值主要有哪些呢?我们一起来看看吧…

父子组件传值

父组件向子组件传值(props)

父组件通过import引入子组件并注册,在子组件标签上添加要传递的属性,在子组件中通过props接收,接收有两种形式:一是通过数组形式[‘要接收的属性名称’],二是通过对象形式{}来接收。对象形式可以设置要传递的数据类型和默认值,而数组只是简单的接收。

具体展示:
image.png

image.png

子组件向父组件传值($emit)

子组件通过绑定事件触发函数,在其中设置this.$emit(‘派发事件名称’,要传递的值)。然后在父组件中在这个子组件标签上@派发的自定义事件,绑定事件触发的methods中的方法接收的传递过来的参数。

具体展示:

image.png

image.png

兄弟组件传值

通过event bus实现

创建一个空的vue实例并暴露出去,作为公共的bus,充当两个组件之间的桥梁,在两个组建中分别引入bus,在组件A中通过bus.emit(自定义事件名,要传递的值)发送数据,在组件B中通过bus.emit(‘自定义事件名称’,要传递的值)发送数据,在组件B中通过bus.on(‘自定义事件名称’,function(val){//val就是传递过来的值})接受数据。

具体展示:

image.png

image.png

image.png

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享