2026/6/13 0:40:40
网站建设
项目流程
微信公众号网站开发注意,网站建设企业网站建设,网站优化怎么样做,网页美工设计视频欢迎使用我的小程序#x1f447;#x1f447;#x1f447;#x1f447; 俱好用助手功能介绍 你好呀#xff01;如果你刚开始学习 Vue3 组件开发#xff0c;那你来对地方了#xff01;想象一下#xff0c;组件就像是前端世界的乐高积木——小巧、独立、可重复使用…欢迎使用我的小程序 俱好用助手功能介绍你好呀如果你刚开始学习 Vue3 组件开发那你来对地方了想象一下组件就像是前端世界的乐高积木——小巧、独立、可重复使用还能组合成酷炫的东西。让我们花 1-2 周时间轻松掌握组件开发的三大基石 第一周认识你的“乐高积木”组件基本结构Vue 的“基因代码”每个 Vue 组件都像一个独立的小程序有自己的模板、逻辑和样式template !-- 这里是组件的“外貌” -- div classmy-component h1{{ title }}/h1 button clickhandleClick点我/button /div /template script setup // 这里是组件的“大脑” import { ref } from vue const title ref(你好我是组件) const handleClick () { console.log(按钮被点击啦) } /script style scoped /* 这里是组件的“穿搭” */ .my-component { border: 2px solid #42b983; padding: 20px; border-radius: 10px; } /style 小贴士script setup是 Vue3 的语法糖让代码更简洁scoped样式确保穿搭只影响自己不会“撞衫”。 第二周让积木“活”起来Props组件的“个性定制”就像给乐高人仔换装一样Props 让组件可以接收外部数据!-- UserCard.vue -- template div classuser-card h2{{ name }}/h2 p年龄{{ age }}/p p v-ifisVip⭐ VIP会员/p /div /template script setup // 定义组件可以接收哪些“定制参数” const props defineProps({ name: { type: String, required: true // 这个必须传 }, age: { type: Number, default: 18 // 不传的话默认18岁 }, isVip: Boolean // 简写形式 }) /script使用这个组件时template UserCard name小明 :age20 :is-viptrue / UserCard name小红 / !-- 小红自动18岁不是VIP -- /template 有趣比喻Props 就像点奶茶时的选项——甜度、冰度、加料同一个奶茶组件能调出千变万化的味道Events组件的“悄悄话机制”组件不能总是被动接收有时也需要主动“说话”!-- Counter.vue -- template div p计数{{ count }}/p button clickincrement1/button button clickreset归零/button /div /template script setup import { ref } from vue const emit defineEmits([count-change, reset-done]) const count ref(0) const increment () { count.value // 对外“喊话”计数变化啦 emit(count-change, count.value) } const reset () { count.value 0 // 喊另一句话重置完成啦 emit(reset-done) } /script父组件接收“悄悄话”template Counter count-changeonCountChange reset-doneshowAlert(已归零) / /template script setup const onCountChange (newCount) { console.log(计数器变成${newCount}了) } const showAlert (msg) { alert(msg) } /script 生动解释Events 就像组件之间的“对讲机”。子组件按下按钮父组件就能听到“嘿我这里发生事情了”插槽组件的“留白艺术”有时候我们想在组件里留一块空地让使用它的人自由发挥!-- FancyBox.vue -- template div classfancy-box div classheader slot nameheader默认标题/slot /div div classcontent !-- 匿名插槽不写name的那个 -- slot默认内容/slot /div div classfooter slot namefooter/slot !-- 如果没提供footer这里什么都不显示 -- /div /div /template尽情发挥创意template FancyBox !-- #header 是 v-slot:header 的简写 -- template #header h1 我的个性化标题/h1 /template !-- 这里是匿名插槽的内容 -- p这是放在主区域的内容.../p img src/my-image.jpg alt我的图片 template #footer button确定/button button取消/button /template /FancyBox /template 精妙比喻插槽就像相框——相框组件提供结构和样式边框、材质但你可以在里面放任何照片 两周学习路线图第一周打好地基第1-2天创建你的第一个组件理解“单文件组件”概念第3-4天玩转 Props尝试各种类型验证第5-7天组件通信初体验父子组件互相“对话”第二周进阶组合第8-10天掌握具名插槽和作用域插槽第11-12天构建一个小项目如用户卡片集第13-14天重构重复代码为可复用组件 动手挑战试着创建一个MessageBubble组件通过typeprop 控制样式成功、警告、错误点击气泡时发射close事件使用插槽让内容可以包含任何 HTML添加一个icon插槽允许自定义图标 总结Vue3 组件开发其实就像玩乐高基本结构 积木的基础形状Props 给积木涂上不同颜色Events 积木之间的连接卡扣插槽 预留的特殊接口记住最好的学习方式就是动手去做从今天起试着把页面上的每个部分都想象成可复用的组件。两周后你会惊讶地发现自己已经能用“乐高思维”构建整个应用了有什么问题或有趣的组件创意吗欢迎在评论区分享一起在 Vue3 的世界里搭出炫酷的作品吧✨ 学习进度提醒标记你的日历两周后回来看看自己构建了多少个酷炫组件