首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
组件通信的全景图:propsemit、v-model、pr
[问答题]
组件通信的全景图:props/emit、v-model、provide/inject、mitt/事件总线、全局状态。
添加笔记
求解答(0)
邀请回答
收藏(11)
分享
纠错
4个回答
添加回答
0
hickey江
子组件可以通过props接收父组件传递过来的参数,父组件可以通过子组件的emit方法传递参数回来,v-model是双向绑定,通常使用于input、checkbox等组件,project/inject也是传递参数的一种方式,父组件使用project提供数据给子组件,子组件通过inject注入接收,mitt/事件总线不太懂,全局状态我理解的是使用vuex或者pinia进行的全局状态管理,有state(数据),mutation(修改state中的数据值),action(异步修改,如需要通过网络请求的时候),getters,setters等等,在组件中可以使用this.$store.state.xx获取状态数据(如果store有命名的话可以使用this.$store.mudule.state.xx),使用commit调用mutation中的方法,使用dispatch调用action中的方法,注意 不可以直接更新state中的数据,只可以通过mutation更新。
发表于 2025-11-24 22:34:01
回复(0)
0
我从未看清
父子组件通信:props/emit 父组件通过属性传递数据,子组件通过props接受数据使用 子组件通过父组件绑定的自定义事件,触发函数,执行相应逻辑 整个过程遵循单向数据流,父组件传递过来的,子组件只能读,不能 直接修改。要修改通过绑定父组件的自定义事件,进行数据的修改 v-model : Vue3中可以理解为: :modelValue 以及 @update: modelValue 首先:modelValue 用来传递值, @update:modelValue理解为自定义事件 , 所以子组件props接受父组件传递过来的 :modelValue, 然后还有去通过emit触发父组件的自定义事件, 由父组件去编写对应事件的逻辑, 就这么简单,可以理解为父子组件的双向绑定, 且时peops 和emit的 语法糖, 简化代码的作用 provide/inject : 跨组件通信, 很好理解为什么会出现这两个api, 因为如果由爷爷组件,父组件,子组件,如果按照原先的父子组件传递,爷爷 -> 父 -> 子 这样去传递,会很麻烦复杂,所以跨组件传递就来了,然后是修改数据时我们遵从从数据源头修改,比如想在子组件去修改数据, 也应该是去调用爷爷组件传递过来的方法,进行修改,不能自己去修改,这样会导致数据混乱,逻辑不清晰,不利于维护 mitt/事件总线 : 简单理解就是订阅和发布 比如有两个组件 一个a组件 一个b组件 a去订阅b组件 b组件发布消息, a组件去接受b组件发送的消息。 有一个坏处时,必须手动回收订阅,不然会造成内存泄漏,也就是创建了,但没销毁清理 全局状态: pinia 状态管理,这个就是最 常用最稳定的, 任意组件可以调用pinia里面管理的数据,不分父子组件,也是我们现在最常用的
发表于 2025-11-24 19:01:35
回复(0)
0
安吉拉娜娜
props/emit: 父子通信 v-model:用于父子组件使用的时候进行双向绑定的 provide/inject:vue2中使用的祖先后代之间的传递 mitt/bus总线:可以跨组件进行,off停止,on开启,emit触发 vuex/pinia:全局状态的维护,需要引入响应的工具库进行实现。
发表于 2025-11-04 23:10:30
回复(0)
0
秋水夏树
props/emit:父子通信 provide/inject:跨级祖先后代 event-bus:on 监听 emit 触发 pinia:管理全局状态,都能访问
发表于 2025-09-17 18:46:37
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
来自:
Vue-牛客面经八股
难度:
4条回答
11收藏
314浏览
热门推荐
相关试题
登录态与 Token 刷新:无感刷...
评论
(1)
来自
Vue-牛客面经八股
从 0 到 1 设计一个可复用的弹...
评论
(0)
来自
Vue-牛客面经八股
讲一下组件库封装思路,包括:属性透...
评论
(2)
来自
Vue-牛客面经八股
如何让某个组件“强制重新渲染”,代...
评论
(2)
来自
Vue-牛客面经八股
为什么 data 在组件里要写成函...
评论
(3)
来自
Vue-牛客面经八股
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题