欢迎光临散文网 会员登陆 & 注册

千锋教育前端Vue3.0全套视频教程(Kerwin2023版,Vue.js零基础

2023-07-13 14:14 作者:普普通通的小李  | 我要投稿

组件的简介:是vue中的一种思想 封装html 方便我们独立的或者复用的代码进行页面的构建,


什么是ui组件库:是提前封装好了的项目的公共组件,减少代码的冗余,方便后期的维护。


组件的关系:只要被调用了 就是子组件。


封装思想:公共组件和页面组件, 公共组件增加代码的复用性,便于后期维护。页面组件 增加了代码的可读性 ,也便于

后期的维护 。



组件的通信:父传子 用props  子传父 $emit  详细用法 props可以写单个属性 也可以写数字组 也可以对象  

一般用的都是对象 props:{属性名:类型,type:类型,required:布尔,default:默认值},

$emit 发送通知的语法 不同的页面调用相同的子组件 实现的是不同的逻辑 所以得 用$emit 将事件传给父组件使用

this.$emit("自定义事件",参数)   父组件接受使用 @自定义事件="(形参)=>{逻辑代码}"

细节:vue3中直接写原生事件是生效的 但是会和自定义事件重复 解决:emits:[ 'click'];

vue2中直接写原生事件是不生效的  必须得使用自定事件。


通过provide提供可以被后代组件注入值 inject声明要通过从上层提供方匹配并注入进当前组件的属性;

  

单向数据流:子组件通过props接受的父组件的数据只能父组件修改 子组件无法修改, 



组件通信 插槽slot: 默认插槽:定义组件<slot></slot>调用组件的双标签内自动填入  内部可以解析超文本,

               具名插槽:定义组件<slot name="标识"></slot> 调用时 <template #标识></template>

               作用域插槽:定义组件<slot name="标识" a='1' :b='c'></slot> 调用时 <template #标识='props'></template>


动态组件:<component :is="who"></component>

可以动态的切换需要的子组件






内置组件transition

  单元素/组件过渡

     1.写页面布局样式

     2.控制元素的隐藏显示 v-if/v-show

     3. 使用transition将代码包裹起来   

         enter-active-class  进入

          leave-active-class  离开

         appear        首次刷新进来触发

     多元素过渡

     transition 有两个标签  必须用v-if  

     mode  "out-in"  /  "in-out"

  

 内置组件KeepAlive

     KeepAlive 是一个内置组件, 在多个组件间动态切换时缓存被移除的组件实例

     最大缓存数

        keepalive :max='num'

        缓存实例的生命周期

        没有keepalive 组件切换会触发销毁destroyed 和创建 created/mounted

        有keepalive  组件切换不会触发销毁destroyed 创建created/mounted 只会首次触发

        内置组件Teleport 

        组件创建时只会在app根目录下

 vue3 和 vue2 的区别

v3弃用:filter过滤器  大道至简还使用以前的methods

    mixin混入 参考react改成了hooks 下周一

v3新增:teleport 把代码放到指定位置避免样式污染、emits 让自定义事件重写原生事件 避免重复触发

v3原理:Object.defineProperty 改成 Proxy 








组合式API的好处 

  把data methods computed 统一放到setup中一起写 增强代码的可读性 ,方便后期的维护。

  ref reactive

  ref 响应式对象refImpl{value :get/set}

  reactive 代理对象

  区别: 1. 数据 ref返回响应式对象  reactive返回代理对象

      2.使用 ref操作数据需要.value,template模板中不需要 reactive都不需要,value

      3.原理 ref通过Object.defineProperty()的get和set实现数据代理

      reactive使用Proxy实现数据代理,并且通过Reflect操作源对象内部的数据


千锋教育前端Vue3.0全套视频教程(Kerwin2023版,Vue.js零基础的评论 (共 条)

分享到微博请遵守国家法律