前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue父子组件通信以及非父子组件通信的方法

vue父子组件通信以及非父子组件通信的方法

原创
作者头像
青年码农
发布2020-10-13 13:09:23
1.6K0
发布2020-10-13 13:09:23
举报
文章被收录于专栏:青年码农青年码农青年码农

组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用。一般来说,组件可以有以下几种关系,父子关系、兄弟关系和隔代关系,简化点可以分为父子关系和非父子关系,下面就讲讲vue父子组件通信以及非父子组件通信的方法。使用代码格式会比较乱,所以直接使用图片演示。

1.父子组件

(1).父组件数据传递给子组件

传递

vue父子组件通信以及非父子组件通信的方法
vue父子组件通信以及非父子组件通信的方法

注:这里的child-msg必须用-代替驼峰,否则识别不到方法

接收

方式1

vue父子组件通信以及非父子组件通信的方法
vue父子组件通信以及非父子组件通信的方法

注:接收-改成驼峰

方式2

vue父子组件通信以及非父子组件通信的方法
vue父子组件通信以及非父子组件通信的方法

注:这里可以指定传入的类型,如果类型不对,会警告

方式3

vue父子组件通信以及非父子组件通信的方法
vue父子组件通信以及非父子组件通信的方法

注:指定类型。那我们也可以设置默认值

(2).子组件数据传递给父组件

传递

vue父子组件通信以及非父子组件通信的方法
vue父子组件通信以及非父子组件通信的方法

注:fatherFunc是在父组件中定义的,要和父组件对应上

接收

vue父子组件通信以及非父子组件通信的方法
vue父子组件通信以及非父子组件通信的方法

注:fatherFunc对应子组件中的this.$emit中的

2.非父子

创建空的实例放在根组件下,所有的子组件都能调用

vue父子组件通信以及非父子组件通信的方法
vue父子组件通信以及非父子组件通信的方法

注:这个空的实例,所有的组件都能调用,父子、非父子都可以

传递方

vue父子组件通信以及非父子组件通信的方法
vue父子组件通信以及非父子组件通信的方法

接收方

vue父子组件通信以及非父子组件通信的方法
vue父子组件通信以及非父子组件通信的方法

以上讲的并非全部vue组件数据通信方法,只是我在项目中用到的总结归类,vuex(状态管理)项目用到的比较少,后期用到了,再补充。这样父传子、子传父和非父子组件数据传递就完成了。

获取更多优质内容,请关注【青年码农】

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档