Vue的一大特点就是组件化,在组件共同运用的时候就涉及到了数据共享的问题,关于Vue组件之间数据共享主要解决方案就是组件传值,那么Vue组件传值主要有哪些呢?我们一起来看看吧…
父子组件传值
父组件向子组件传值(props)
父组件通过import引入子组件并注册,在子组件标签上添加要传递的属性,在子组件中通过props接收,接收有两种形式:一是通过数组形式[‘要接收的属性名称’],二是通过对象形式{}来接收。对象形式可以设置要传递的数据类型和默认值,而数组只是简单的接收。
具体展示:
子组件向父组件传值($emit)
子组件通过绑定事件触发函数,在其中设置this.$emit(‘派发事件名称’,要传递的值)。然后在父组件中在这个子组件标签上@派发的自定义事件,绑定事件触发的methods中的方法接收的传递过来的参数。
具体展示:
兄弟组件传值
通过event bus实现
创建一个空的vue实例并暴露出去,作为公共的bus,充当两个组件之间的桥梁,在两个组建中分别引入bus,在组件A中通过bus.on(‘自定义事件名称’,function(val){//val就是传递过来的值})接受数据。
具体展示:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END