这篇文章主要讲解了“vue中组件间相互通信传值的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中组件间相互通信传值的方法有哪些”吧!我们在使用vue进行项目开发的时候为了更好地管理项目,我们会把每个功能封装成一个个的组件,在使用的时候直接引入并且调用组件来实现代码的复用。我们在封装组件的时候经常会留有一些预留的接口,供使用的时候调用和传入不同的数据,这个时候我们就涉及到了组件之前的相互传值的问题。我这里总结了在vue中组件之前相互传值的方法:这是我自己的数据{{num}}这是通过props接收父级组件传过来的数据{{pNum}}这是通过组件中的$attrs对象获取父级组件传过来的数据{{$attrs[‘p-num2’]}}这是通过组件中的$attrs对象获取父级组件传过来的数据{{topNum}}上边的代码展示了两种不同形式的组件之间的通讯方式,父组件传值方式相同,子组件获取操作方式不同1.props/$emit
组合方式:子组件通过定义props值拿到父组件传给子组件的属性来获取;子组件通过使用$emit方免费云主机域名法调用父组件的方法;2.$attrs/$listeners
组合方式:子组件可以通过$attrs属性中的值拿到父组件传给子组件的属性值,它里边存储的是props之外的属性值;3.$parent
方法获取父组件中的数据和方法这是获取的子组件childA的数据:{{childA_num}}这是获取的子组件childB的数据:{{childB_num}}1.ref/$refs
方式,通过给引入的组件定义一个ref
属性,然后就可以通过$refs
结合该属性值得到当前组件的实例2.ref/$children
属性,给组件定义ref
值后,当前组件实例中会在this.$children
中拿到所有定义了ref
的组件数组,我们在通过下标进行获取某个子组件的方法后者属性值。{{parentData.num}}这种方式适合层级比较深的组件传值,这里的基本原理是,通过给祖先组件配置provide
属性,然后把想要传给后代组件的属性值,进行存储;
然后在后代组件中,那个需要拿到传播的数据,可以给组件本身配置injuct
属性,来接收想要监听的数据值;然后就可以进行通信了此方发可以在任意组件中进行监听当前定义的方法。来实现,组件间相互通信事件总线的调用方式是:1.定义一个全局的vue
示例并导出;2.然后在需要监听某个事件的组件中引入event-bus
3.给当前的组件在created
方法中增加方法4.然后子组件可以通过引入event-bus
文件然后通过EventBus.$emit
方式执行监听的时间方法还可以使用Vuex、本地存储等方式来实现全局公用。感谢各位的阅读,以上就是“vue中组件间相互通信传值的方法有哪些”的内容了,经过本文的学习后,相信大家对vue中组件间相互通信传值的方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!
相关推荐: sql中exists和not exists怎么用
这篇文章主要介绍了sql中exists和notexists怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。强调的是是否有返回集,不需知道具体返回的是什么,比如: 只要exists引导的子句有…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。