Vue2 学习笔记 - 第三篇:组件系统与通信机制
发布时间: 2025年6月23日 01:09作者: 似琼碧落浏览: 13 次
已发布
文章摘要
本文是Vue2学习笔记的第三篇,专注于Vue2的组件系统和通信机制。从组件基础概念开始,详细介绍了组件的注册方式、组件通信方法、插槽机制、生命周期等核心特性。通过组件注册、父子通信、插槽使用的具体示例,帮助读者掌握Vue2的组件开发技巧,理解组件化开发的设计思想,为构建可复用、可维护的Vue2应用提供全面的组件开发指导。
内容格式: Markdown字数: 1045 字符
一、组件基础
Vue 组件是可复用的 Vue 实例,拥有独立作用域。组件必须通过 Vue.component()
注册或在父组件中使用 components
局部注册。
全局注册
Vue.component('my-component', {
data() {
return {
msg: 'Hello'
};
},
methods: {
greet() {
console.log(this.msg);
}
},
template: '<div>{{ msg }}</div>' // 字符串模板,实际开发建议使用 .vue 文件
});
局部注册
const Child = {
data() {
return { count: 0 };
},
template: '<span>{{ count }}</span>'
};
new Vue({
components: {
'child-component': Child
}
});
二、组件通信
父 → 子:props
props: ['title']
- 父组件传递属性,子组件声明接收
子 → 父:$emit
this.$emit('eventName', data);
- 子组件使用
$emit
触发事件,父组件监听
三、插槽机制(Slot)
Vue 2 提供 <slot>
标签用于父组件向子组件插入内容。
默认插槽
<slot></slot>
具名插槽
<slot name="header"></slot>
四、组件生命周期(与实例类似)
组件的生命周期钩子与 Vue 实例一致,如:
created
mounted
updated
destroyed
可以在这些钩子中处理数据、发送请求或清理资源。
五、注意事项
data
在组件中必须是函数,返回对象。- 子组件不能直接修改父组件传入的 prop,需使用事件或 Vuex 等中间机制。
分类:
vue2
最后更新: 2025年9月5日 00:36