叮咚前端
这个作者很懒,什么都没留下…
展开
-
element多表单认证
element多表单认证原创 2022-09-24 11:21:24 · 398 阅读 · 0 评论 -
vue-treeselect联动
vue下拉链接第三方库原创 2022-03-25 14:42:50 · 1187 阅读 · 0 评论 -
Vue3带来的变化(新的API)
由Options API 到 Composition API:在Vue2.x的时候,我们会通过Options API来描述组件对象Options API包括data、props、methods、computed、生命周期等等这些选项;存在比较大的问题是多个逻辑可能是在不同的地方:ü 比如created中会使用某一个method来修改data的数据,代码的内聚性非常差Composition API可以将 相关联的代码 放到同一处 进行处理,而不需要在多个Options之间寻找;n Ho原创 2022-01-11 11:02:11 · 278 阅读 · 0 评论 -
获取组件的类型方法ts
采用 typeof 获取组件类型 const accountRef = ref<InstanceType<typeof LoginAccount>>() const HandleLoginClick = () => { // console.log(accountRef.value) //可选刚开始有值的之后才获取 accountRef.value?.LoginAction() } return { isKe原创 2021-12-06 09:31:46 · 1267 阅读 · 0 评论 -
eslint
"scripts": { "serve": "vue-cli-service serve",//启动服务 "build": "vue-cli-service build",//构建项目 "lint": "vue-cli-service lint",//对代码进行lint --fix 修复 eslint "prettier": "prettier --write ." },...原创 2021-11-25 10:15:30 · 349 阅读 · 0 评论 -
VS code代码格式定制规范Prettier工具
VS code 需要安装插件Prettier Formatter for Visual Studio Code1.安装prettiernpm install prettier -D2.配置prettier文件userTabs:使用tab缩进还是空格缩进。选择false tabWdith:tab是空格的情况下,是几个空格,选择2个 printWdith:当行字符的长度,推荐80,或者100和120 singleQuote": true, // 使用单引号true,双引号false..原创 2021-11-24 17:22:07 · 549 阅读 · 0 评论 -
代码编辑器风格统一editorconfig
# EditorConfig is awesome: https://EditorConfig.org# top-most EditorConfig fileroot = true# Unix-style newlines with a newline ending every file[*]end_of_line = lfinsert_final_newline = true# Matches multiple files with brace expansion notation.原创 2021-11-23 22:21:50 · 276 阅读 · 0 评论 -
ts 类型声明有三种
内置类型声明内置类型申明时ts自带的,帮助我们内置了js运行时的一些标准化api的声明文件;包括比如math,date内置类型,包括Dom api,比如window,document等等外部定义类型声明和自定义声明外部类型声明通常是我们使用一些库(比如第三方库)时,需要的一些类型声明。 n 这些库通常有两种类型声明方式: n 方式一:在自己库中进行类型声明(编写.d.ts文件),比如axios n 方式二:通过社区的一个公有库DefinitelyTyped存放类型声明文件 p原创 2021-11-23 11:53:02 · 2859 阅读 · 0 评论 -
命名空间namespace
命名空间在ts早期时,称之为内部模块,主要的目的时将一个模块的内部在进行作用域的划分,防止一些命名冲突的问题export namespace time{export function format(time:string){return format}export let name:string="12312"}...原创 2021-11-23 10:12:40 · 318 阅读 · 0 评论 -
ts模块化开发
//可以js的modules和commit.jsexport function add(num1:number,num2:number){returnnum1+num2}原创 2021-11-23 09:20:40 · 549 阅读 · 0 评论 -
泛型的类型约束
//因为number类型是没有长度所以要用继承来限制他的类型传入interface Ilength {length:number}function getlength<T extends Ilength>(arr:T){return arr.length}//number类型是没有长度getlength(1231)//以下三种都是有长度getlength("1231")getlength({name:1231})getlength([1,2])...原创 2021-11-23 08:58:52 · 107 阅读 · 0 评论 -
ts泛型的类
class Point<T>{x:Ty:Tz:Tconstructor(x:T,y:T,z:T) {this.x=xthis.y=ythis.z:z}}const p=new Point<sring>('123','23','231')原创 2021-11-22 23:02:22 · 308 阅读 · 0 评论 -
ts泛型接口
interface iPerson<T1=string,T2=number>{name:T1age:T2}const p:iPerson={name:"why",age:18}原创 2021-11-22 22:42:56 · 518 阅读 · 0 评论 -
ts 泛型
软件工程的主要目的是构建不仅仅明确和一致的api,还要让你的代码具有很强的重要性:1.比如我们可以通过函数来封装一些api,通过传入不同的函数参数,让函数帮忙我们完成不同的操作;2.但是对于参数的类型是否也可以参数化呢?function sum(num1:number,num2:number){return num1+num2}sum(10,20)//动态传类型function sum<Type>(num1:Type,num2:type):Type{}func.原创 2021-11-22 17:37:23 · 463 阅读 · 0 评论 -
ts枚举类型
1.枚举类型是ts为数不多的特有类型之一枚举其实是将每一个可能出现的值一个个的列出来,定义在类型中,这个类型就是枚举类型枚举允许开发者定义一组命名常量,常量可以是数字,字符串类型enum Direction{LEFT,//0TOP,//1CENTER//2BOTTOM//3}enum Direction{LEFT=100,//0TOP=200,//1CENTER=300//2BOTTOM=400//3}enum Direction{LEFT=100,//0TOP,.原创 2021-11-22 16:07:51 · 4718 阅读 · 0 评论 -
ts属性freshness擦除
interface IPerson{name:string,age:number,height:number}const p:IPerson{name:'张三',age:18,height:16.2}//正常的类型检测const p:IPerson{name:'张三',age:18,height:16.2,addres:'广州'}//类型推广出来冲突多了一个addres:'广州'属性interface IPerson{name:string,age:number.原创 2021-11-22 14:21:27 · 546 阅读 · 0 评论 -
interface和type的区别
1.interface和type都是用来定义对象类型2.如果是定义非对象类型,通常推举type,比如Direction,Alignment,一些function**如果是定义对象类型的区别**1.interface 可以重复对某个接口定义属性和方法2.type定义是别名,别名是不能重复的比如 interface name{name:string} interface name{age:number}其实合并等价于name{name:string,age:number}type原创 2021-11-22 11:54:46 · 3548 阅读 · 0 评论 -
ts super调用父级构造器
,原创 2021-11-18 22:50:18 · 409 阅读 · 0 评论 -
ts声明对象类型
//通过类型(type)别名来声明对象类型// type 别名InfoType={name:string,age:number}//另外一种方式声明对象类型:接口interface//可选属性//只读属性interface InfoType{name:stringage:numberfriend?:{name:string}}const info:IInfoType={name:“why”,age:18,friend:{name:“kobe”}}console.log(in原创 2021-11-19 00:00:26 · 4741 阅读 · 0 评论 -
字面量类型
const message:“hello world”=hello world//let num:123=123//字面量类型的意义,就是必须结合联合类型type Aligin=left | right | centerlet align:Aligin=“left”align=“right”align=“center”原创 2021-11-17 22:44:18 · 222 阅读 · 0 评论 -
readonly只读
可以在购物器中赋值,赋值之后就不可以修改原创 2021-11-18 23:29:24 · 1671 阅读 · 0 评论 -
vue3带来的变化(性能)
使用proxy进行数据劫持在vue2.0中,vue2使用Object.defineproperty来劫持数据getter和setter方法的缺点:当给对象添加和删除属性时,是无法劫持和监听所以vue2中不得不添加一些api,比如set和set和set和delect,都是属于hack方法,增加开发成本删除一些不必要的API移除了实例上,on,on,on,off和$once移除一些特性:如filter,内联模版包过编译方面的优化生成Block tree slot编译优化,diff算法优化.原创 2021-11-06 01:31:24 · 222 阅读 · 0 评论 -
ts?
let msg:string|null=“hello world”const content=message??“你好啊,美女”const content=message?message:“你好美女”console.log(content)原创 2021-11-17 22:25:53 · 85 阅读 · 0 评论 -
成员修饰符public
public是默认修饰符class Person {public name:string=""}cont p=new Person()p.name=“123”原创 2021-11-18 23:21:09 · 129 阅读 · 0 评论 -
ts数组类型
const name:Array=【】//不推举const name2:string[]=[]//推举原创 2021-11-09 23:17:25 · 622 阅读 · 0 评论 -
函数类型
1原创 2021-11-19 00:10:46 · 180 阅读 · 0 评论 -
ts索性类型
interface indexlan{[index:number]:string}construction fron:indexlan={1:“css”}原创 2021-11-19 00:09:11 · 319 阅读 · 0 评论 -
宏观和微观
**nexttick:**官方解释:将回调推迟到下一个dom更新周期后执行。在更新一些数据等待dom更新之后立即执行js单线程nexttick属于队列中的微观(实际上是new promise)conpents中微光有:wacth(监听) update,还有其他钩子,nexttick(微观的尾部)settimeout 属于异步宏观<div ref="name" @click="height()"></div>height(){thid.$refs.name.html(原创 2021-11-09 00:25:57 · 675 阅读 · 0 评论 -
vue2,3的vuex获取值
1.vuex的写法原创 2021-11-07 19:15:58 · 1059 阅读 · 0 评论 -
v-model原理
<input v-modle="val"/><input :value="val=$event.target.value"/>原创 2021-11-07 13:11:44 · 112 阅读 · 0 评论 -
js的浅拷贝和深拷贝
1.浅拷贝只是简单拷贝一个对象,对于里面对象里面的对象只能拷贝到内存编号Object.assign()var arr={name:‘why’,val:‘wqe’,friend:{name:‘1’}} ;var obj=Object.assign({},arr);arr.friend.name=“2131”;console.log(obj.friend.name)VM649:1 2131...原创 2021-11-07 11:55:54 · 112 阅读 · 0 评论 -
watch的功能
普通监听data:{return {name:123}}watch:{name(val,oldval){console.log(val+‘最新值’,oldval+‘初始值’)},name:{handle:function(val,oldval){console.log(val+‘最新值’,oldval+‘初始值’)},deep:true,//深入监听immediate:true//立即执行}}深入监听...原创 2021-11-06 17:31:42 · 103 阅读 · 0 评论 -
methods方法绑定this
11原创 2021-11-06 09:49:17 · 283 阅读 · 0 评论 -
Vue3带来的变化(性能)
使用proxy进行数据劫持在vue2.0中,vue2使用Object.defineproperty来劫持数据getter和setter方法的缺点:当给对象添加和删除属性时,是无法劫持和监听所以vue2中不得不添加一些api,比如set和set和set和delect,都是属于hack方法,增加开发成本删除一些不必要的API移除了实例上,on,on,on,off和$once移除一些特性:如filter,内联模版包过编译方面的优化生成Block tree slot编译优化,diff算法优化.原创 2021-11-06 01:41:23 · 201 阅读 · 0 评论