范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

14Vue入门教程Vue组件间通信

  1. 前言
  本小节我们将介绍组件间是如何实现数据通信的。包括父组件向子组件、子组件向父组件、兄弟组件、非关系组件之间的数据通信。组件通信是组件式开发中非常重要的一部分,也是组件式开发中的难点。在学完本小节之后,同学们可以通过反复地编写组件来加深印象。 2. 木子解释
  组件是 vue 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用。我们需要使用特定的方式来实现组件间的数据通信,接下来让我们一个个介绍这几种类别的组件通信是如何实现的。 3. 父组件通过 props 传递数据给子组件
  父组件通过  props   属性向子组件传递数据。子组件利用组件实例的  props   属性定义组件需要接收的参数,在使用组件时通过  attribute  的方式传入参数,如: // 在子组件内定义组件接收一个参数 name {   props: ["name"] } // 父组件使用组件时传递参数 name 
  接下来我们看一个具体示例:
  实例演示               Document                 
  "运行案例" 可查看在线运行效果
  代码解释  JS 代码第 14-18 行:定义了组件 child,并用 props 接收一个参数 name。 JS 代码第 4-12 行:定义了组件 parent,在组件中使用     引用组件,并用 attribute 的方式将 name 传递给组件 child。
  在上面的例子中,组件  Child   接收参数  name  , name   可以是字符串、数组、布尔值、对象等类型。但有时候我们需要给接收的参数指定一个特殊的类型和默认值,接下来我们就来介绍一下如何指定 props 的类型和默认值。 3.1 定义props的类型和默认值
  在上面的例子中,props 接收一个组件参数数组。实际上,props 也可以接收一个对象,对象 key  为组件接收参数的参数名,其值是一个对象,属性  type   用来指定参数的类型,属性  default   用来指定参数的默认值: {   props: {     name: {       type: String,       default: "句号"     }   } }
  接下来我们看一个具体示例:
  实例演示               Document                 
  "运行案例" 可查看在线运行效果
  JS 代码第 11-19 行:定义了组件 child,并用 props 接收一个字符串类型的参数 name,其默认值是:句号。 JS 代码第 3-10 行:定义了组件 parent,在组件中使用     两次引用组件,    的方式传递 name 值,    使用默认的 name 值。
  TIPS: 注意,给数组和对象类型的  props   设置默认值的时候,需要按照以下的写法: props: {   detail: {     type: Object,     default: () => {       return {         name: "句号"       }     }   },   loves: {     type: Array,     default: () => {       return []     }   } } 4. 子组件通过 $emit 传递数据给父组件
  介绍完父组件传递数据给子组件的方式,我们再来看看子组件是如何传递数据给父组件的。 子组件通过  $emit   传递事件给父组件,父组件通过  $on   监听事件: // 子组件定义事件 this.$emit("事件名称", "传递的参数") //例: this.$emit("add", 111)  // 父组件监听事件的触发 
  具体示例:
  实例演示               Document                 
  "运行案例" 可查看在线运行效果
  代码解释  JS 代码第 19-38 行:定义了组件 child,该组件接收两个参数:1. 字符串类型的 name,默认值为:句号。2. 数字类型的 age,默认值为 18。组件模版中,通过按钮点击事件触发 add 方法,该方法内部通过  $emit   触发事件 add,并将 age + 1 的值作为参数传递。
  JS 代码第 3-18 行:定义了组件 parent,在组件中使用     引用组件,并绑定 add 事件,当事件 add 触发时调用 methods 中的 add 函数。 5. 非父子组件间数据传递
  前面我们介绍了具有父子关系的组件是如何进行数据传递的。但实际上,并不是所有的组件都是父子关系,组件间还有兄弟组件、子孙组件、无关系组件,那么这些组件间是如何进行通信的呢?
  相信在学完本节前面的内容之后这个问题并不能难倒大家。
  对于兄弟组件的数据通信:它们有共同的父组件,我们可以通过父组件传递的方式实现数据通信。
  对于子孙组件的数据通信:可以通过 props 的方式向下逐层传递下去,也可以通过 $emit 将事件向上逐层传递。
  对于非关系组件的数据通信:通过使用一个空的Vue实例作为中央事件总线。 5.1 通过公有的父组件进行非父子组件间的通信
  假设现在有三个组件分别是   、   、   ,其中组件   是   和   的父组件,   和   为兄弟组件,   和   组件间的通信可以借助   来间接传递。它的流程大致是这样:    通过 $emit  将数据传递给   ,   再通过 props  将数据传递给    。
  具体示例:
  实例演示               Document                      
  "运行案例" 可查看在线运行效果
  代码解释  JS 代码第 18-30 行:定义了组件 detail,它从父组件接收 name 和 age 两个参数。 JS 代码第 3-17 行:定义了组件 person,它通过 $emit 将组件内输入的 name 和 age 传递给父组件。 JS 代码第 38-41 行:接收了组件 person 传递过来的事件,并修改 name 和 age。 HTML 代码第 3 行:将 name 和 age 传递给组件 detail。 5.2 通过使用一个空的 Vue 实例作为中央事件总线
  在 Vue  中可以使用  EventBus   来作为沟通桥梁的概念,就像是所有组件共用相同的事件中心,可以向该中心注册发送事件或接收事件,所以组件都可以上下平行地通知其他组件。 首先我们需要做的是创建事件总线,并将它挂载到 Vue  原型上,在实例中通过 this.bus.$emit  发送事件,通过 this.bus.$on  接收事件。 // 定义事件总线 let bus = new Vue() Vue.prototype.bus = bus  // 定义发送事件 this.bus.$emit("事件名称", data)  // 定义接收事件 并在回调中接收参数 this.bus.$on("事件名称", (data) => {       })
  接下来我们看一段具体示例代码:
  实例演示               Document                      
  "运行案例" 可查看在线运行效果
  代码解释  JS 代码第 3-4 行:通过 new Vue() 创建一个 vue 实例,并将它挂载在 Vue 的原型上。这样,在 vue 组件中可以通过  this.bus   访问到这个实例对象。 JS 代码第 5-18 行:定义了组件 person,当点击修改按钮的时候通过  this.bus.$emit   发送一个名为  modify   的事件,并将组件内输入的 name 和 age 作为参数传递。 JS 代码第 19-33 行:定义组件 detail,在组件内部通过  this.bus.$on   监听名为 modify 的事件,当事件触发时执行修改操作。 6. 小结
  在本小节,我们介绍了组件间的通信方式,主要有以下知识点: 父组件通过  props   向子组件传递参数进行数据通信; 子组件通过  $emit   向父组件传递事件进行数据通信; 兄弟组件通过共同父组件进行数据通信; 通过使用一个空的 Vue 实例作为中央事件总线进行非关系层组件的数据通信。

C位出圈!P0。9间距以下产品将迎接市场大爆发从最近的展会和新品发布会不难看出,P0。9频频亮相,相关厂商十分关注P0。9以及P0。9以下产品的市场价格。通过对行家说产业研究中心的资料分析,以及RGB多年来对市场的观察研究数据缺口高达50史无前例的LED显示IC荒,何时能消停?芯片荒席卷全球,显示(RGBBLU)驱动IC也未能幸免。一天两涨,都没货,没办法。只是涨个价能接受,问题是订金都交了不少,但还是拿不到货。为了保证每月稳定的显示驱动IC供货,龙头面屏显科技与城市交通的结合,为智慧城市赋能近些年来,随着经济社会的不断发展,人们的生活质量也随之提升,人们的出行方式也越来越多,对于交通的依赖性也是愈来愈大。每日运营的公交车载人的计程车私人的小轿车等等,街道上的车辆川流不LED显示屏组件辅材厂家该如何提高产品的生产效率对于制造业来说,如何提高产品的生产效率,这是每一个企业都在研究的问题。LED显示屏组件辅材产品在流水线上的生产效率会受到生产管理人员生产设备材料准备操作方法和工作环境等方面影响。比顶流P0。9?没那么简单P0。9正成为LED显示行业新的顶流。不管是在展会亦或是各种行业论坛,0。9都牢牢占据着话题的C位。事情发生前,其实早有征兆。早在2019年8月,在2019高工产研全国新型显示巡回涨涨涨涨!4家国产芯片厂商同一天宣布涨价国际电子商情不完全统计,本周一(5月31日)当天就有4家国产芯片厂商宣布调整产品价格。这4家厂商分别是士兰微智浦芯联瑞纳捷上海复旦微,涨价产品涵盖LED照明驱动开关电源管理芯片安全MicroLED量产问题,他们解决了几个?当前,各国大厂积极投入MicroLED研发,但目前MicroLED在数百万数千万画素量级微米尺度等级,所面临生产制程均匀度控制转移组装良率等关键技术瓶颈尚待突破,预估尚须2到3年才显示屏又叒叕涨价了!6月开始,不仅是材料贵了全球芯片还在持续短缺,今年年初芯片及各类下游厂商频繁发布涨价通知,距利亚德洲明艾比森等LED显示屏企业在5月中旬发布涨价函不到1月,高科光电迈锐光电等显示屏企业也纷纷紧随其后,迫不赛力斯华为智选SF5的出现,让你不再担忧新能源汽车的续航问题很多人在购车的时候都会考虑新能源汽车,但同时又十分在意新能源汽车的续航问题。碎玉纯电动车来说,续航一直都是痛点,但是对于增程式电动车来说,完全不存在续航的问题。因此续航强劲的赛力斯营收增长超57,洲明科技上半年做了什么?营收同比增长57。57,净利润同比增长14。38。8月8日晚间,洲明科技交出了2021年上半年成绩单。财报数据显示,2021年上半年洲明科技实现营业总收入29。32亿元,较去年同期投资路上,普通人该如何正确看待各类观点前言如今大家获取信息的渠道很多,每天都能从各路大V那获取很多观点。面对复杂的信息,很多人不知所措,这抄点那抄点,把自己的思路弄得很混乱。今天给大家梳理一下我们应该如何对待获得的信息
Win764位系统电脑双显卡如何切换的方法有不少深度技术的小伙伴都应该发现了,现在有许多笔记本都是支持双显卡的了。但是有深度win7系统就会问了,双显卡到底要如何切换呢。今天就由深度小编来告诉你们在笔记本中怎么切换双显卡的Win764位纯净版打开IE无法显示此页问题有不少win7纯净版的用户都应该遇到过打开IE浏览器就出现无法显示此页的提示问题吧。说真的,遇到这样的问题真的很糟心啊,但是尽管如此我们还是要微笑着解决问题。所以接下来深度技术系统win7系统中如何设置显示器为144hz的图文教程有很多热爱游戏的玩家为了让游戏画面显示更加流畅,就使用了144Hz显示器,可是小伙伴却不知道在win7系统中如何设置它的刷新率,那么win7系统中如何把显示器设置144hz呢?其实win1021h1正式版如何设置备份系统的操作方法有不少深度技术的朋友都升级win1021h1版本的系统了,但是安装好软件工具以后,问小编如何备份系统。其实,我们一般可以通过ghost来备份系统,如果嫌麻烦,我们可以使用win10相同距离下,高速和国道哪个更省钱?大多数车主没算过这笔账时间的发展给生活带来了极大的改变,除了身边无处不在的数码产品,基础设施建设也走向了新高度,我们身边曾经的荒地盖上了高楼大厦,曾经的乡间小路也变成了高速公路,基础设施的完善让城市之间华为花式曝光高通骁龙898,价格或涨1000元数码博主菊厂影业Fans发现,在华为最新一期的调查问卷中竟然出现了高通下一代芯片骁龙898的名称。虽然无法表明下一代骁龙8系芯片将定名898但至少可认为华为有意推出更多搭载高通旗舰11月2日军情!3条最新消息,蔡英文害怕的事情越来越多了随着气温骤降,全国不少城市进入供暖季,冬天的脚步越来越近了。此前,蔡英文大肆炒作岛内问题声称互不隶属,一直活跃于国际舆论并在涉台问题上屡屡大放蹶词的她,这两天突然消停了。3条最新消买电车还是油车比较纠结买电车还是油车最近计划买车,原本一直看的是油车,最斤同事给我安利了电车,觉得也是不错。现在非常纠结,大家提点建议目前的用车需求(1)家庭首辆车,出行都靠他,目前没有小孩(1)日常通win10镜像安装后没有网上邻居的解决方法有一位刚刚升级win10镜像系统的深度技术用户,电脑系统安装好之后发现桌面上没有网上邻居的图标,之前他使用的win7旗舰版系统明明都存在的,那么win10系统有网上邻居吗?下面,深出差好物共享地平线8号行李箱新玩法前沿不管是出差还是出门旅行,带着行李箱出门是再合适不过的了。对于短时间的出行,叶涵喜欢带20寸的行李箱,一来是方便机场过安检,二来是20寸的行李箱容量足够又不会太沉重,即拖即走。今推荐一款神级动态壁纸电脑软件我们经常在网上看到别人的动态桌面,心动不已。今天推荐这款WallpaperEngine桌面软件,是发布于Steam平台的一款动态壁纸软件,区别于其他形式的壁纸软件,Wallpape