父子组件通信
0|1prop
最常见的组件通信方式之一,由父组件传递到子组件
0|2event
最常见的组件通信方式之一,当子组件发生了某些事,可以通过event
通知父组件
0|3style和class
父组件可以向子组件传递style
和class
,它们会合并到子组件的根元素中
示例
父组件
子组件
渲染结果:
0|4attribute
如果父组件传递了一些属性到子组件,但子组件并没有声明这些属性,则它们称之为attribute
,这些属性会直接附着在子组件的根元素上
不包括
style
和class
,它们会被特殊处理
示例
父组件
子组件
渲染结果:
子组件可以通过inheritAttrs: false
配置,禁止将attribute
附着在子组件的根元素上,但不影响通过$attrs
获取
0|5natvie修饰符
在注册事件时,父组件可以使用native
修饰符,将事件注册到子组件的根元素上
示例
父组件
子组件
渲染结果
0|6$listeners
子组件可以通过$listeners
获取父组件传递过来的所有事件处理函数
0|7sync修饰符
和v-model
的作用类似,用于双向绑定,不同点在于v-model
只能针对一个数据进行双向绑定,而sync
修饰符没有限制
示例
子组件
父组件
0|8$parent和$children
在组件内部,可以通过$parent
和$children
属性,分别得到当前组件的父组件和子组件实例
0|9$slots和$scopedSlots
$slots
:用于访问父组件传递的普通插槽中的vnode$scopedSlots
:用于访问父组件传递的所有用于生成vnode的函数(包括默认插槽在内)
0|10ref
父组件可以通过ref
获取到子组件的实例
1|0跨组件通信
1|1Provide和Inject
示例
详见:https://cn.vuejs.org/v2/api/?#provide-inject
1|2router
如果一个组件改变了地址栏,所有监听地址栏的组件都会做出相应反应
最常见的场景就是通过点击router-link
组件改变了地址,router-view
组件就渲染其他内容
1|3vuex
适用于大型项目的数据仓库
1|4store模式
适用于中小型项目的数据仓库
1|5eventbus
组件通知事件总线发生了某件事,事件总线通知其他监听该事件的所有组件运行某个函数
__EOF__

本文作者:shmillly959
本文链接:https://www.cnblogs.com/shmillly959/p/18164560.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/shmillly959/p/18164560.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现