我说这是全网最全vue组件通信方式
父子组件通信
prop
event
style和class
natvie修饰符
$listeners
v-model
sync修饰符
$parent 和$children
$slots 和$scopedSlots
ref
跨组件通信
Provide和Inject router vuex store模式 eventbus 父子组件通信
prop
最常见的组件通信方式,由父组件向子组件传递。prop可接收一个数组或对象 //子组件 event
子组件向父组件发送通知,并传递参数
子组件 methods:{ // 通过 $emit向父组件发送一个通知 handleEvent(){ this.$emit("eventMsg", option) } }
父组件 methods:{ // 监听子组件定义的方法 eventMsg(option){ console.log(option); } } style 和 class
父组件可以向子组件传递style 和 class ,style 和 class将合并到子组件根元素上
父组件
子组件 {{msg}}
最终渲染结果 Welcome to Your Vue.js App
attribute
父组件在使用子组件时,在子组件上定义一些属性,这些属性将作用于子组件的根元素上,但是不包括style和class
父组件
子组件 {{msg}}
最终渲染结果 Welcome to Your Vue.js App
Tip:子组件可以通过定义 inheritAttrs:false 来紧张 attribute 附着在子组件根元素上 但不影响通过 $attrs 获取数据
natvie修饰符
在注册事件时,父组件可以通过 navite 修饰符,将事件注册到子组件根元素上
父组件
子组件 Hello World
最终渲染结果 Hello World
// 当点击app时。会触发父组件定义的 handleClick 方法 $listeners
子组件可以通过 $listeners 获取父组件传递过来的所有处理函数
v-model
父组件在使用子组件时,可以在子组件上绑定v-model,子组件通过定义model的prop和event还获取父组件定义的值
父组件
"datas" />
子组件 sync 修饰符
和 v-model类似,用于双向数据绑定,不同点在于 v-model只能针对一个数据进行绑定,而 sync 修饰符没有限制
子组件
{{ num1 }}
{{ num2 }}
父组件 $parent 和 $children
在组件内部,可以通过$parent 和$children属性,分别获取当前组件的父组件和子组件实例
ref
在使用组件时,可以通过在组件上定义ref来获取组件实例 跨组件通信
provide 和 Inject
provide和inject 可以实现深层组件通信,顶层组件只需定义provide,底层组件通过inject接受数据
顶层组件 // 父组件 provide(){ msg:"hello Children" }, // 子组件 inject: ["msg"] created () { console.log(this.msg) // hello Children } router
如果一个组将改变了地址栏,所有监听地址栏的组将都会做出相应的改变, //监听路由变化 watch:{ $route(to,from) { console.log(to,from); } } vuex
vuex 过于笨重,通常不建议在小型项目中使用,小型项目可以使用store 或 eventbus代替vuex,vuex本质上就是一个数据仓库。在此不做过多赘述,先挖一个坑,下回再叙。
store 模式
store模式其实就是一个普通的js模块,各组件可以导入该模块,将数据放到data里面,此时store就具有响应式了。 // 导出一个 store.js模块 export default { userInfo:{...}, loginInfo:{...} } // A子组件导入 store模块 import store from "./store.js" export default { name:"Acompon", data(){ userInfo: store.userInfo } } // B子组件导入 store模块 import store from "./store.js" export default { name:"Bcompon", data(){ loginInfo: store.loginInfo } }
tip: store模式的缺点是无法跟踪数据的改变,因为所有组件都可以更改数据
eventbus
eventbus事件总线相当于一个桥梁,作为所有组将的一个事件中心,所有组件皆可往eventbus里面注册事件,也可以监听事件。 // 定义一个eventbus模块 import Vue from "vue" export const EventBus = new Vue() // 在main.js里导入该模块并挂载到全局 // main.js import eventbus from "./eventbus.js" Vue.prototype.$eventBus = eventbus 所有子组件向eventbus里组 注册 或者 监听 事件 // 组件A 通过 $emit()注册事件 sendMsg() { this.$eventBus.$emit("aMsg", "from A"); } // 组件B 通过 $on 监听事件 this.$eventBus.$on("aMsg", (msg) => { // A发送来的消息 console.log(msg) // from A }) // 通过 $off() 可以关闭事件
怎样把酷狗收费音乐下载到U盘里?很多人都遇到过这类情况,很多音乐一旦上了热门,官方就会把它变为收费模式,想下载也只能充会员了。充个会员虽然要不了很多钱,但是很多人仍为不需要包,括本人在内哈哈,毕竟听了这么多年的歌
成本只有3000的苹果,销量再夺第一,国人为何如此喜欢苹果?买不起宾利迈巴赫,可我买的起苹果呲牙呲牙因为苹果唯一的对手被米国无耻地阴掉了。所谓山中无老虎,猴子称霸王。苹果是普通人能买到的世界上最好,最先进的东西之一!苹果成本3000那国产机
华为到底是不是车企的朋友?华为到底是不是车企的朋友?可能没有车企能斩钉截铁地回答这个问题。仅仅是对外强调不造车,华为就发过不下五次声明。有业内人士评价,根本原因是,在这个包含金矿却又互争雄长的行业中,永远没
中国未来5年趋势,如何改变老百姓生活?将会有哪些机遇?搬倒三座山,小康到身边。家家分红利,人人笑开颜。谢邀!这是金融界坏蛋们,制造新的议题,来忽悠榨干老百姓的问题。510的人吸干了全体老百姓200300年的财富,请问老百姓还有什么机遇
想买上海绿牌的车子,理想ONE这个车怎么样?求大神指点?车子很棒,我是首批用户,开了一年多没任何问题,理想的服务也很好。平时每天上下班30公里,一个月电费100不到。2021款性价比更高,推荐。这车说实话,不怎么样。你想啊,原来是做汽车
想入手一台两千到两千五的手机,请问各位大神要不要等双十一?我iQOO活力板5,12256。870处理器,六月份买的2399米,只要自己觉得价格合适多会都可以买的!iQNEO五活力版12256870都才2600提前加收藏,记录下价格,有时候
提升电商首页吸金能力(此处已添加圈子卡片,请到今日头条客户端查看)目前,主流的电商经营方式都是在各大电商平台开设自己的店铺,运用各种引流工具把电商平台汇聚到的流量吸引到自己的店铺。店铺变成了卖家对外展
华为和小米国货之光国产手机什么牌子靠谱功能实用,科技含量高有时野外生存都是必备的话只有华为和小米,第一这两个牌子有一个共同点电池靠谱待机时间长,充电三到四小时,能手八小时不关机,反应快不慢,
全球半导体霸主换人,2nm芯片箭在弦上如果我问你目前全球最强的半导体芯片企业是谁?你可能会说是英特尔或者是高通,要不就是台积电?都不是,其实是三星。从收入的角度看,早在2017年,三星就第一次在半导体收入上超过Inte
华为Mate50Pro渲染图0。8寸副屏骁龙898,后置1亿像素四镜头华为手机的市场份额虽然已经开始不断丢失,眼看就要成为第二个诺基亚,但是华为在高端机型上的号召力是依然存在的。比如华为P50Pro的发布就可以说明华为没有放弃手机业务,而且也有消息表
英国恐成半导体孤儿!美企突转弯放弃赴英拓展英特尔欧盟是未来主要目标FX168财经报社(香港)讯英特尔首席执行官季辛格(PatGelsinger)本周发表罕见声明,称鉴于英国在2020年选择脱欧,预计未来将不会考虑在英国建厂,转以欧盟为未来主要目标
巨头百度旗下的互助平台凉了!网络互助还靠谱吗?大家好,我是老李。近几年来,大病互助平台如雨后春笋般的在国内涌现。只要疾病或手术符合他们平台的要求,就可以一次得到不少的互助金,少则5万,多则50万,而且钱由其他人一起分摊的。当然
买保险是一种好的理财方式吗?大家好,我是老李。由于今年整体经济形势不容乐观,总投资回报率略低于以往,许多人开始把投资的目光转向保险。然而,保险从业人员却孜孜不倦地宣传保险的各种功能,特别是年金险和增额寿险的收
微信之夜张小龙谈社交7个重点助你创业!作者小蚱蜢简介8年互联网营销实战经验,乐于为大家分享实战经验。寻找互联网营销同行交流经验提升自我!1微信能够有十亿用户,本质上是因为它是社交工具。有人的地方就有市场,何况在微信拥有
三款App宣战微信,互联网社交即将进入一场大变革!作者小蚱蜢简介8年互联网营销实战经验,乐于为大家分享实战经验。寻找互联网营销同行交流经验提升自我!看看网友的调侃张小龙今天有三款社交APP上线。马化腾今天一天?疯了吧!张小龙是的,
社群运营8个套路提升参与度技巧作者小蚱蜢简介8年互联网营销实战经验,乐于为大家分享实战经验。寻找互联网营销同行交流经验提升自我1了解目标用户群,熟悉信息的集中反馈,深入用户交流热点话题知己知彼才能百战百胜,社群
运营初期社群的5种技巧!作者小蚱蜢简介8年互联网营销实战经验,乐于为大家分享实战经验。寻找互联网营销同行交流经验提升自我1建立社群成员共同的情感联系对共同的困惑进行答疑解惑也许是产品的困惑,也许是服务的困
营销的信任4种可实操性方法作者小蚱蜢简介8年互联网营销实战经验,乐于为大家分享实战经验。寻找互联网营销同行交流经验提升自我品牌故事品牌的历程证明了实现了在消费者中的信任。广义的品牌是具有经济价值的无形资产,
上厕所前的1个小动作,不仅无溅水,还可以隔异味冲洗更容易今天要聊的话题有点难以启齿,但是我还是想跟大噶唠一唠,就是在嗯嗯的时候,总会遇到一件尴尬的事。被嗯嗯溅起的水花,混着屎尿的味道,控制不住的和你的屁屁来了一次亲密接触。想起那场景,被
宠物祛味喷雾届的香奈儿,美国杜邦黑发明!爱宠异味1s解决越来越多的年轻人可以单身,可以没有朋友,却不能少了爱宠!这家伙吃饭时陪着,上厕所跟着,玩游戏打扰着,睡觉时跑酷。也偶尔碰碎个瓶瓶罐罐给你惊喜,真可谓无处不在的填满你的生活。但再可爱
这只合金打造的飞碟放车上,保持车内空气清新90天!终于全面复工了,路上的车越来越多车开久了同样也会有难闻的气味平时不注意清洁,总会留下食物气味,残留烟味,人体的气味所有的味道混合在一起酸爽的直呼受不了!车里的异味难以清除绝对是每个
手机上的细菌居然是马桶的18倍!只需一贴,60天安心玩手机!手机算是每天和我们形影不离,尤其是现在被病毒困在家里的日子,手机更是一天24小时陪伴。但是你知道吗?!手机上的细菌比马桶都多!!除了可能传播病毒,手机也一直是病菌的大本营。看得见的