vue组件间的通讯方式汇总

vue组件间的通讯方式
1,组件间通信(父向子):props
子如何修改父的数据?
转存一份在子组件中直接修改(各个子组件中数据独立)
通过vue自定义事件 通知父组件已改(各个子组件中数据公用)
2,组件间通信(子向父):vue自定义事件
3,组件间通信(非父子):事件总线pubsub
4,组件间通信:普通插槽,具名插槽,作用域插槽
5,组件间通信:vuex
6,如果有路由环境可以通过url进行组件数据传递
7,localStroage seesionStroage
8, e v e n t 深 入 : 如 果 event深入: 如果 eventevent出现在dom事件中代表dom事件对象
如果 e v e n t 出 现 在 v u e 自 定 义 事 件 中 代 表 event出现在vue自定义事件中代表 eventvueemit的第二个参数。
v-on:事件名.修饰符=“回调”:
如果修饰符为native则将vue的自定义事件转为原生dom事件。
9,组件间通信高级:v-model
给输入型的dom元素使用:v-model代表数据双向绑定
给vue组件使用:v-model代表子向父的数据传递

等价于
<myZJ :value=“msg” @input=“msg = $event”>
10,组件间通信高级:.sync属性修饰符
语法:v-bind:属性名.sync=“数据”
组件:
<myZJ :xxx.sync=“money” >
等价于
<myZJ :xxx=“money” @update:xxx=“money= $event”>

11,组件间通信高级: a t t r s 与 attrs与 attrslisteners
v-bind扩展高级使用:v-bind:{a:a,b:b}
$attrs:排除props声明,排除class,排除style的所有组件标签属性组成的对象。
v-on扩展使用 :v-on:{click:fn,mousemove:fn2}
l i s t e n e r s : 组 件 标 签 绑 定 的 所 有 自 定 义 事 件 监 听 对 象 12 , 组 件 间 通 信 高 级 : listeners:组件标签绑定的所有自定义事件监听对象 12,组件间通信高级: listeners:12refs c h i l d r e n 与 children与 childrenparent
$refs组件标记(有可能是dom节点,有可能是组件对象)
$children:组件的所有子组件
$parent:组件的父组件
13,组件间通信高级:provide&inject
provide 和inject主要在开发高阶插件/组件库时使用。
provide 和inject进行数据传递是不具备响应式的。
顶层组件:
provide(){
return{msg:“xxx”}//传递给子孙组件的数据
}
子孙组件
inject:[“msg”]//模板中直接使用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值