深刻理解vue组件

2 篇文章 0 订阅
1 篇文章 0 订阅
Vue组件分为个人组件、基础通用组件、高阶组件和业务组件,有利于代码组织、复用和可读性。props用于父子组件间单向数据传递,event和slot提供通信机制。基础组件需谨慎设计,高阶组件用于定制化需求,业务组件则针对特定项目。匿名插槽、具名插槽和作用域插槽分别处理不同场景的插入内容。
摘要由CSDN通过智能技术生成

vue组件分类及好处


可以让代码更加简洁,可读性增加,代码复用性增加。

  1. 个人组件 这种组件时比较好写的,怎么方便自己使用怎么来,因为协同开发时,每个人维护自己的页面,很少有交集,不需要考虑太多模块和架构设计。

  1. 基础通用组件,例如轻提示、模态框、按钮等,这些组件会被大量使用,需要考虑周全,需要对组件的样式以及api上再三斟酌,以最优代码实现,别人使用时可以通过不同配置来实现不同功能。

  1. 高阶组件,有时候我们在不同的业务的不同项目中,基础通用组件需要新增一些功能或者修改样式,可以对一些组件进行二次封装,以满足当前业务的需求。修改样式可以直接往项目的main.js中引入css文件,可以修改项目的整体风格,字体颜色等,或者在封装时css代码块中样式选择器加上deep来击穿scoped,scoped可以给当前组件加一个独一无二的标识,让这个组件的样式只用于当前组件,或者直接用行内样式来修改样式。

  1. 业务组件,业务中被多个页面复用的组件,一般只会用在当前项目中,业务组件可能也包含高阶组件。

vue组件的三个API:props、event、slot


props: 写个人组件的时候,可以根据情况接收一个数组,不用判别prop的类型和规定默认值,否则其他情况最好接收一个对象,对每个prop进行类型和默认值以及必要性的定义。但是prop是单向数据流,不能在子组件里修改props的值,只能在父组件里修改以后,对应子组件里的prop也会修改,但是如果子组件通过$emit自定义事件来通知父组件,也是可以间接修改的。

slot:

  1. 匿名插槽。当组件里被插入的内容单一时,可以用匿名插槽。

  1. 具名插槽。当组件内部被插入的内容需要分类的时候,可以用匿名插槽,根据不同的name可以把内容插在组件内不同的位置。

  1. 作用域插槽。父组件需要拿到子组件内的数据的时候,使用作用域插槽。子组件绑定属性,把想要传递的数据设为属性值,在父组件中通过slot-scope来拿到数据。

event:父组件给子组件传递自定义事件,子组件通过$emit调用事件,调用的时候,$emit可以传递参数,把子组件内部的参数传递出去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值