【学习vite + vue3 + pinia + ts】pinia应用 store的创建及应用 1. 读取state中的属性 2. state属性的修改方式 3. actions处理同步异步逻辑 4. getters函数式写法与参数接收 5. 持久化存储pinia中的数据
vite创建的项目,打包后的文件本地预览报错 Access to script at ‘...‘ from origin ‘null‘ has been blocked by COR http-server -p 8090 // 8090为自己设置的端口号,不要跟之前打开的冲突即可。打包后的文件打开报错,原因是file文件不支持import,需要开启个服务。打开图中地址即可访问打包后的项目。进入打包后的文件夹,运行cmd。...
【学习 vite + vue3 + pinia + ts】vue3与vue2的一些差异点 created- 新增!在元素的 attribute 或事件监听器被应用之前调用。bind →mounted:新增!在元素本身被更新之前调用,与组件的生命周期钩子十分相似。update → 移除!该钩子与updated有太多相似之处,因此它是多余的。请改用updated。updated:新增!与组件的生命周期钩子类似,它将在元素被卸载之前调用。...
【学习 vite + vue3 + pinia + ts】setup异步返回 async setup 正常情况下,setup不能是一个async函数,因为返回值不再是return的对象,而是promise,模板看不到对象中的属性。但是,借助与结合,可以实现setup返回一个Promise实例。
【学习 vite + vue3 + pinia + ts】vue3响应式原理简单理解 新增属性、删除属性, 界面不会更新。借助 this.$set()/this.$delete()实现属性新增/删除。- 通过Proxy(代理): 拦截对象中任意属性的变化, 包括:属性值的读写、属性的添加、属性的删除等。- 对象类型:通过Object.defineProperty()对属性的读取、修改进行拦截(数据劫持)。- 数组类型:通过重写更新数组的一系列方法来实现拦截。- 通过Reflect(反射): 对源对象的属性进行操作。// 拦截设置属性值或添加新属性。// 拦截读取属性值。...
【学习 vite + vue3 + pinia + ts】应用创建与常用组合api 组合式 API: setup,ref,reactive,computed,watch,watchEffect,toRef,toRefs,shallowRef,shallowReactive,readonly,shallowReadonly,toRaw,markRaw,provide,inject,customRef,
【学习 vite + vue3 + pinia + ts】框架搭建 在src/components下新建index.ts// import ComponentVue from './ComponentVue.vue' // 替换为想要全局注册的组件// app.component('ComponentVue', ComponentVue) //注册}}修改main.tsapp.use(Antd)
typescript ts 基础知识之接口、泛型 接口用来定义一个对象结构,用来定义一个对象中应该包含哪些属性和方法使用关键字 interface 定义不同点:type不能声明同一个名字的类型两次,会报错接口interface可以声明同一个名字的类型两次,结果为两个声明合并,但后续声明中若有之前声明过的属性,则属性类型须一致接口可以在定义对象的时候限制对象的结构,接口中所有的属性都不能有实际的值,即接口只定义对象结构,不考虑实际值,类似于抽象类,不同的是在接口中所有的属性和方法都是抽象的,抽象类中可以有实质的属性和方法定义类时,可以使类去实现一个接口(使类
typescript ts 基础知识之类 通过new调用产生的实例对象可以访问namestring='名字'age}实例方法中的this表示当前调用方法的对象}以abstract关键字开头的类是抽象类,是专门用来继承的类,不能用来创建对象抽象类中可以添加抽象方法,只定义结构,不定义具体实现。抽象方法只能定义在抽象类中,子类必须对抽象方法进行重写abstractnamestringstring){}abstractsayHi()void}sayHi()}......
typescript ts 基础知识之用webpack打包ts代码 一、基本配置1.新建文件夹webpack_js,在文件夹下建文件夹src,src下建文件index.ts2.在终端打开文件夹,运行命令行,初始化package.json包管理工具3.安装依赖4.根目录下新建webpack.config.js文件5.根目录下新建tsconfig.json文件6.在package.json文件的scripts选项中添加命令7.终端执行命令如果出现budle.js,则打包成功。............
vue antd a-table表格 按需展开嵌套子表格 属性来给不满足条件的行增加特定的class名,配合css样式的displaynone实现展开图表的隐藏。row-class-name="record=>不展开的条件&&'noExpand'"在满足某一条件下,表格行可展开子表格。不满足条件的时候不能点击。不能点击不好实现,但可以实现让其隐藏,通过表格的。......
vue 路由守卫 解析 路由跳转有两种方式1、方式,2、编程式跳转。路由守卫控制路由在符合某种条件下才能完成跳转。后置,在跳转之后判断,不管符不符合,路由都会跳转,浏览器地址栏都会变化,多用于跳转后修改页签标题等。中,亦或者是在与某个引入了src/router/index.js文件暴露的router的。前置,在路由切换之前判断,不符合条件则不跳转。//to要去的路由,from当前路由,next触发跳转。//to要去的路由,from当前路由,next触发跳转。1.全局前置路由守卫。...
typescript ts基础知识之tsconfig.json配置选项 tsconfig.json是ts的配置文件,里边可以写注释,其常用配置选项如下: 1. include:定义希望被编译文件所在目录,默认值为['**/*'],**表示任意目录,*表示任意文件2. exclude:不需要被编译的文件目录,默认值为["node_modules", "bower_components", "jspm_packages"]3.extends:定义被继承的配置文件,将不想重复写的配置项引入进来4. files:指定被编译文件的列表,编译文件较少时适用5. co
typescript ts 基础知识之类型声明 1. : number 数字2. : string 字符串3. :boolean 布尔值4. : 字面量 限制变量的值就是该字面量的值,eg:let a: 10; a = 11会报错5. : any 任意类型,相当于对该变量关闭了TS类型检测,不建议使用6. : unknown 类型安全的any,不能直接赋值给其他变量7. : void 空值 没有值(或undefined)常用来设置函数的返回值8. : never 不能是任何值,永远不会返回结果(throw new Error('报错了'
vue 前端 用iframe实现单点登录 前端在实现单点登录过程中,最主要的 是按照系统的要求 保存好 可以证明系统登录过的证据。保存证据(下文统称其为token)的位置:1. localStorage,2. cookie对于存在不同域名的系统,我们可以借助iframe的src属性解决跨域问题,然后用iframe的dom元素的contentWindow的postMessage向iframe内嵌的网页传递数据,再在被内嵌的网页的代码中添加message事件截取消息,然后去保存token。具体代码见下方监管系统中点击跳转的回调函数:.........