07 2023 档案
摘要:依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi
阅读全文
摘要:定义一个函数或类时,有些情况下无法确定其中要使用的具体类型(返回值、参数、属性的类型不能确定); 此时泛型便能够发挥作用; 举个例子: function test(arg: any): any{ return arg; } 上例中,test函数有一个参数类型不确定,但是能确定的时其返回值的类型和参数
阅读全文
摘要:要想面向对象,操作对象,首先便要拥有对象; 要创建对象,必须要先定义类,所谓的类可以理解为对象的模型; 程序中可以根据类创建指定类型的对象; 举例来说: 可以通过Person类来创建人的对象,通过Dog类创建狗的对象,不同的类可以用来创建不同的对象; 定义类 class 类名 { 属性名: 类型;
阅读全文
摘要:class Animal { private _name: string; private _age: number; constructor(name: string,age: number){ this._name = name; this._age = age; } sayHello(){ c
阅读全文
摘要:接口的作用类似于抽象类,不同点在于:接口中的所有方法和属性都是没有实值的,换句话说接口中的所有方法都是抽象方法; 接口主要负责定义一个类的结构,接口可以去限制一个对象的接口:对象只有包含接口中定义的所有属性和方法时才能匹配接口; 同时,可以让一个类去实现接口,实现接口时类中要保护接口中的所有属性;
阅读全文
摘要:要想面向对象,操作对象,首先便要拥有对象; 要创建对象,必须要先定义类,所谓的类可以理解为对象的模型; 程序中可以根据类创建指定类型的对象; 举例来说: 可以通过Person类来创建人的对象,通过Dog类创建狗的对象,不同的类可以用来创建不同的对象; 定义类 class 类名 { 属性名: 类型;
阅读全文
摘要:自动编译文件 编译文件时,使用 -w 指令后,TS编译器会自动监视文件的变化,并在文件发生变化时对文件进行重新编译。 示例: tsc xxx.ts -w 自动编译整个项目 如果直接使用tsc指令,则可以自动将当前项目下的所有ts文件编译为js文件。 但是能直接使用tsc命令的前提时,要先在项目根目录
阅读全文
摘要:TypeScript中的基本类型: 类型声明 类型声明是TS非常重要的一个特点; 通过类型声明可以指定TS中变量(参数、形参)的类型; 指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错; 简而言之,类型声明给变量设置了类型,使得变量只能存储某种类型的值; 语法
阅读全文
摘要:2.x 全局 API(Vue)3.x 实例 API (app) Vue.config.xxxx app.config.xxxx Vue.config.productionTip 移除 Vue.component app.component Vue.directive app.directive Vu
阅读全文
摘要:等待异步组件时渲染一些额外内容,让应用有更好的用户体验 使用步骤: 异步引入组件 import {defineAsyncComponent} from 'vue' const Child = defineAsyncComponent(()=>import('./components/Child.vu
阅读全文
摘要:isRef: 检查一个值是否为一个 ref 对象 isReactive: 检查一个对象是否是由 reactive 创建的响应式代理 isReadonly: 检查一个对象是否是由 readonly 创建的只读代理 isProxy: 检查一个对象是否是由 reactive 或者 readonly 方法创
阅读全文
摘要:作用:实现祖与后代组件间通信 套路:父组件有一个 provide 选项来提供数据,后代组件有一个 inject 选项来开始使用这些数据 具体写法: 祖组件中: setup(){ ...... let car = reactive({name:'奔驰',price:'40万'}) provide('c
阅读全文
摘要:作用:创建一个自定义的 ref,并对其依赖项跟踪和更新触发进行显式控制。 实现防抖效果: <template> <input type="text" v-model="keyword"> <h3>{{keyword}}</h3> </template> <script> import {ref,cu
阅读全文
摘要:toRaw: 作用:将一个由reactive生成的响应式对象转为普通对象。 使用场景:用于读取响应式对象对应的普通对象,对这个普通对象的所有操作,不会引起页面更新。 markRaw: 作用:标记一个对象,使其永远不会再成为响应式对象。 应用场景: 有些值不应被设置为响应式的,例如复杂的第三方类库等。
阅读全文
摘要:readonly: 让一个响应式数据变为只读的(深只读)。 shallowReadonly:让一个响应式数据变为只读的(浅只读)。 应用场景: 不希望数据被修改时。
阅读全文
摘要:shallowReactive:只处理对象最外层属性的响应式(浅响应式)。 shallowRef:只处理基本数据类型的响应式, 不进行对象的响应式处理。 什么时候使用? 如果有一个对象数据,结构比较深, 但变化时只是外层属性变化 > shallowReactive。 如果有一个对象数据,后续功能不会
阅读全文
摘要:toRef 作用:创建一个 ref 对象,其value值指向另一个对象中的某个属性。 语法:const name = toRef(person,'name') 应用: 要将响应式对象中的某个属性单独提供给外部使用时。 扩展:toRefs 与toRef功能一致,但可以批量创建多个 ref 对象,语法:
阅读全文
摘要:什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装。 类似于vue2.x中的mixin。 自定义hook的优势: 复用代码, 让setup中的逻辑更清楚易懂。 创建hook3文件夹 新建usePoint.js文件(文件名以userxxx命名) ap
阅读全文
摘要:watch的套路是:既要指明监视的属性,也要指明监视的回调。 watchEffect的套路是:不用指明监视哪个属性,监视的回调中用到哪个属性,那就监视哪个属性。 watchEffect有点像computed: 但computed注重的计算出来的值(回调函数的返回值),所以必须要写返回值。 而watc
阅读全文
摘要:与Vue2.x中watch配置功能一致 两个小“坑”: 监视reactive定义的响应式数据时:oldValue无法正确获取、强制开启了深度监视(deep配置失效)。 监视reactive定义的响应式数据中某个属性时:deep配置有效。 //情况一:监视ref定义的响应式数据 watch(sum,(
阅读全文
摘要:<template> <!-- vue3组件中的模板结构可以没有根标签 --> <h1>一个人的信息</h1> 姓:<input type="text" v-model="person.firstName"><br> 名:<input type="text" v-model="person.last
阅读全文
摘要:作用: 定义一个对象类型的响应式数据(基本类型不要用它,要用ref函数) 语法:const 代理对象= reactive(源对象)接收一个对象(或数组),返回一个代理对象(Proxy的实例对象,简称proxy对象) reactive定义的响应式数据是“深层次的”。 内部基于 ES6 的 Proxy
阅读全文
摘要:作用: 定义一个响应式的数据 语法: const xxx = ref(initValue) 创建一个包含响应式数据的引用对象(reference对象,简称ref对象)。 JS中操作数据: xxx.value 模板中读取数据: 不需要.value,直接:<div>{{xxx}}</div> 备注: 接
阅读全文
摘要:理解:Vue3.0中一个新的配置项,值为一个函数。 setup是所有Composition API(组合API)“ 表演的舞台 ”。 组件中所用到的:数据、方法等等,均要配置在setup中。 setup函数的两种返回值: 若返回一个对象,则对象中的属性、方法, 在模板中均可以直接使用。(重点关注!)
阅读全文
摘要:使用 vue-cli 创建 官方文档:https://cli.vuejs.org/zh/guide/creating-a-project.html#vue-create ## 查看@vue/cli版本,确保@vue/cli版本在4.5.0以上 vue --version ## 安装或者升级你的@vu
阅读全文
摘要:参考 https://blog.csdn.net/hangao233/article/details/123990192?spm=1001.2014.3001.5502
阅读全文
摘要:下载安装npm i vuex 搭建vuex环境 1.创建文件:src/store/index.js //引入Vue核心库 import Vue from 'vue' //引入Vuex import Vuex from 'vuex' //应用Vuex插件 Vue.use(Vuex) //准备actio
阅读全文
摘要:引入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.1.3</version> </dependency> 简单导出 以导出用户信息为例,接下来手把手教大家如何使
阅读全文