随笔分类 -  Vue3 相关 / Vue3.x 基础

摘要:vue3 + ts 封装树形控件 父组件调用 <TreeFilter label="name" title="部门列表(单选)" :requestApi="getUserDepartment" :defaultValue="treeFilterValue.departmentId" @change= 阅读全文
posted @ 2023-02-06 22:38 wanglei1900 阅读(471) 评论(0) 推荐(0) 编辑
摘要:Vue3 插槽 父组件向子组件提前挖好的坑(slot)处,填入对应的内容就叫插槽。插入的内容不局限于文本,甚至可以传入多个元素和数组。 一、理解插槽 如何使用插槽 插槽使用的最多的地方就是使用ui组件库时 官网上的例子很好,用js的函数来类比。 // 父元素传入插槽内容 FancyButton('C 阅读全文
posted @ 2022-11-05 22:56 wanglei1900 阅读(1193) 评论(0) 推荐(0) 编辑
摘要:computed 计算属性 计算属性就是当依赖的属性的值发生变化的时候,才会触发他的更改,如果依赖的值,不发生变化的时候,使用的是缓存中的属性值。 Vue3中有两种写法 如果计算属性不需要修改,可以直接使用函数形式 如果计算属性有被修改的情况,则使用对象包括getter和setter方法,get为读 阅读全文
posted @ 2022-10-30 22:30 wanglei1900 阅读(234) 评论(0) 推荐(0) 编辑
摘要:一、watch 如果定义了reactive的数据(或者用ref包裹了引用类型等同开启reactive),想去使用watch监听数据改变,则无法正确获取旧值,并且deep属性配置无效,自动强制开启了深层次监听 watch 的三个参数 watch第一个参数,监听源 watch第二个参数,回调函数cb(n 阅读全文
posted @ 2022-10-30 22:19 wanglei1900 阅读(235) 评论(0) 推荐(0) 编辑
摘要:ref 的实现 ref实现响应式(基本类型)也是采用Object.definedProperty()来实现的 getter和setter ref实现响应式(对象类型)也是采用Proxy来实现(底层调用reactive方法) reactive 的实现 reactive是采用Proxy来实现 只能对引用 阅读全文
posted @ 2022-10-29 22:12 wanglei1900 阅读(333) 评论(0) 推荐(0) 编辑
摘要:provide与inject 依赖注入 vue3中使用setup语法糖与vue2的provide与inject的区别还是挺大的,这里不讨论vue3的配置项写法。 vue2的可以参考学习之前的vue2的provide与inject文章。 :triangular_flag_on_post: 【Vue2】 阅读全文
posted @ 2022-10-28 23:46 wanglei1900 阅读(1172) 评论(0) 推荐(1) 编辑
摘要:Vue3 hooks vue2里的mixins相似,但是mixins会组件的配置项覆盖。vue3使用了自定义hooks替代mixnins,hooks本质上是函数,引入调用。 封装自定义的hooks 将图片转化成base64 import { onMounted } from "vue"; inter 阅读全文
posted @ 2022-10-07 14:47 wanglei1900 阅读(494) 评论(0) 推荐(0) 编辑
摘要:自定义指令directive 不同于vue2指令 bind inserted update componentUpdated unbind 1.vue3指令中的钩子函数 created 元素初始化的时候 beforeMount 指令绑定到元素后调用 只调用一次 mounted 元素插入父级dom调用 阅读全文
posted @ 2022-10-07 10:23 wanglei1900 阅读(406) 评论(0) 推荐(0) 编辑
摘要:Vue3 model v-model 其实是一个语法糖 通过props 和 emit组合而成的 破坏性的变动,相较于vue2的变动(具体写法改变请看下面): prop:value -> modelValue; 事件:input -> update:modelValue; v-bind 的 .sync 阅读全文
posted @ 2022-10-06 19:02 wanglei1900 阅读(318) 评论(0) 推荐(0) 编辑
摘要:父子组件间的传值 vue2的父子的传值和vue2的是基本一样的,只是在当我们在使用组合式api式,只是在子组件的写法不同。 defineProps 和 defineEmits 都是只能在 <script setup> 中使用的编译器宏。他们不需要导入,且会随着 <script setup> 的处理过 阅读全文
posted @ 2022-10-06 16:01 wanglei1900 阅读(555) 评论(0) 推荐(0) 编辑
摘要:全局组件 没啥讲的,和vue2一样,常规是src下components文件夹下新建全局组件,然后去入口文件main.ts里注册全局组件。然后就能在全局使用了 import { createApp } from 'vue' import App from './App.vue' import rout 阅读全文
posted @ 2022-10-06 00:24 wanglei1900 阅读(319) 评论(0) 推荐(0) 编辑
摘要:动态组件 <component>,一个用于渲染动态组件或元素的载体。 <component> 是vue内置特殊元素,和<slot>一样属于模板语法。但它们并非真正的组件,同时在模板编译期间会被编译掉。因此,它们通常在模板中用小写字母书写。 <component>要完成动态组件,要配合is一起完成。要 阅读全文
posted @ 2022-10-05 22:40 wanglei1900 阅读(486) 评论(0) 推荐(0) 编辑
摘要:Vue3 组合式api 的生命周期 beforeCreate created,setup语法糖模式(组合式api)是没有这两个生命周期的,用setup去代替 onBeforeMount 获取不到DOM, onMounted可以获取DOM onBeforeUpdate获取的是更新之前的DOM,onUp 阅读全文
posted @ 2022-10-05 14:44 wanglei1900 阅读(309) 评论(0) 推荐(0) 编辑
摘要:Mitt库 vue3取消了全局实例的$on,$off,所以可以借助轻量Mitt库实现 200bytes轻量库,进行组件通信,可以跨平台使用,支持批量监听和批量移除。 以下为vue3+ts项目中使用Mitt的方法 import { createApp } from 'vue' import App f 阅读全文
posted @ 2022-10-05 14:05 wanglei1900 阅读(1231) 评论(0) 推荐(0) 编辑
摘要:keep-alive是一个内置抽象组件:它自身不会渲染一个DOM元素,也不会出现在父组件链中;使用keep-alive 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。 一、keep-alive 属性 include - (string | RegExp | Array) 定义缓存白名单,名 阅读全文
posted @ 2022-05-28 15:21 wanglei1900 阅读(244) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示