02 2023 档案
摘要:css数据类型定义的是css属性中具有代表性的值,在规范的语法格式中,使用关键字外加一对 <和>表示,例如数值类型<number>、色值类型<color>等。 举个例子:background-image这个css属性语法结构如下: background-image : none | <image>
阅读全文
摘要:全局组件 微信小程序组件关系中,父组件使用子组件需要在父组件index.json中引入子组件,然后在父组件页面中使用,这种组件的对应状态是一对一的,一个组件对应一个页面。如果有一个全局弹窗(登录),那么每个页面引入一次组件会非常麻烦,这里就需要封装全局弹窗,在页面直接引入使用即可。 微信小程序提供全
阅读全文
摘要:配置请求地址:config->index.js 一个项目里通常有一个config->index.js,该文件包含了当前项目的请求地址,以及项目的版本信息。 // 请求地址 const API_URL_DEV = 'http://xxx.xxx.xxx.net:81/xxx' // 测试接口 cons
阅读全文
摘要:Promise的前提概念 Promise是一个构造函数,用来生成Promise实例 Promise构造函数接受一个函数作为参数,该函数有两个参数,分别是resolve和reject resolve:成功时的回调 reject:失败时的回调 Promise分别有三个状态 1、pending :进行中
阅读全文
摘要:Reflect Reflect拥有Object对象的一些内部方法,某些方法会同时在Object对象和Reflect对象上部署,也就是说Object对象上存在的方法,通过Reflect也可以访问到。 单论Reflect的话,可以这么理解,Reflect就是继承了Object的某些内置方法,并且提供了优
阅读全文
摘要:Proxy Proxy(代理),首先理解代理是什么意思,才能更便于了解Proxy的作用。 Proxy是一个代理,可以这么理解,就相当于它是一个快递代理点,快递会运输到该代理点,我们取件只需要去对应的代理点取件即可,代理点说快递没到就是没到,代理点说要出示证件就要出示证件。 Proxy代理的是一个对象
阅读全文
摘要:Map Object本质上是键值对的集合(Hash结构),但Object只能将字符串当做键,这就给Object带来了很大的限制。 let data = {} let s = { name : '东方不败' } data[s] = '西方求败' // 如果键传入非字符串的值,会自动为字符串 conso
阅读全文
摘要:Symbol Symbol是es6引入的一个新的原始数据类型,是一个独一无二的值。 目前为止,js的数据类型有以下几种: 数据类型 | 说明 | undefined | undefined null | null boolean | 布尔值 string | 字符串 number | 数字 Bigi
阅读全文
摘要:指数运算符 // 2 * 2 console.log(2 ** 2); // 4 // 2 * 2 * 2 * 2 console.log(2 ** 4); // 16 指数运算符是右结合,多个指数运算符连用时,从右边开始计算。 console.log(2 ** 3 ** 2); // 512 //
阅读全文
摘要:属性名表达式 定义对象的属性有两种方式 1、直接使用标识符作为属性名 obj.name 2、以表达式作为属性名 obj['a'+'b'] = 10 let obj = {} obj.name = '孙悟空' // 孙悟空 obj['a' + 'b'] = 10 // 10 console.log(o
阅读全文
摘要:剩余运算符 剩余运算符:...变量 可以将数组的值解构成单个单个的参数序列 console.log(...[1,2,3,4,5]); // 1 2 3 4 5 let { a, b, ...z } = { a: 1, b: 2, c: 3, d: 4 } // a 1 // b 2 // z { c
阅读全文
摘要:定义箭头函数 ES6允许使用箭头 => 定义函数 let v = 100 // 箭头函数 let f = a => v; // 等同于 let f2 = function (a){ return v } // 等同于 let f3 = (a) => { return v } console.log(
阅读全文
摘要:暂时性死区 暂时性死区也就是变量声明到声明完成的区块,这个区块是一个封闭的作用域,直到声明完成。 如果在变量声明之前使用该变量,那么该变量是不可用的,也就被称为暂时性死区。 var 没有暂时性死区,因为var存在变量提升 let、const有块级作用域,没有变量提升,存在暂时性死区 console.
阅读全文
摘要:二进制和八进制表示法 ES6提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o或(0O)表示 0b111110111 503 // true; 0o767 503; // true 在es5开始,严格模式中,八进制不允许使用前缀0 表示,否则会报错 // 严格模式 (function
阅读全文
摘要:RegExp() 在es5中,RegExp的构造函数参数有两种情况 1、字符串 2、正则表达式 // 第一种情况 let regex = new RegExp('abc', 'i') // 第二种情况 let regex2 = /abc/i 这两种情况是等价的 let s = 'abc' regex
阅读全文
摘要:ES6的模块化设计思想是静态化,也就是说,在编译的时候确定模块的依赖关系,以及输出输出入的变量。而CommonJS和AMD模块都是在运行时确定的。ES6的模块不是对象,而是通过export显示指定输出的代码,再通过import命令输入。 // 模块输入 import { start,address
阅读全文
摘要:小程序优惠券流程 优惠券流程大致如下: 优惠券发放形式 优惠券一般通过领取的形式发放,也可以通过用户的状态来自动发放优惠券。 自动发放的优惠券适用于一些活动,比如:回归活动用户登录自动发放优惠券。 手动领取的优惠券,用户通过点击领取的形式获得。 优惠券通常有多种形式,而且优惠券的数量不限,例如:满减
阅读全文
摘要:判断字符串传是否包含在另一个字符串中 let s = 'Hello world' /* 参数字符串是否在原字符串的头部 返回布尔值 */ s.startsWith('Hello'); // true /* 参数字符串是否在原字符串的尾部 返回布尔值 */ s.endsWith('world'); /
阅读全文
摘要:模板编译 编译就是一种格式转换成另一种格式的过程,这里主要讨论一下模板编译。模板字符串对比普通的字符串有很多的不同,模板字符串可以嵌套,并且模板字符串可以在内部使用${xxx}进行表达式运算以及函数调用,这些其实都是模板编译的结果。 普通的字符串编译也就是字符拼接,如果在字符串内使用参数或者表达式,
阅读全文
摘要:字符串解读 es6加强了对Unicode 的支持,允许\uxxxx的形式展现一个字符,例如: console.log('\u0061'); // 打印 a \u后面的为字符的 Unicode 码点 \u 后面4位 xxxx 但是这种写法只识别 \u0000 到 \UFFFF 之间的字符,超出需要使用
阅读全文
摘要:数组去重 let arr = [ 1,2,3,4,5,3,2 ] // 数组去重 // 方法一 let newArr = [new Set(arr)] console.log(newArr); // 方法二 let newArr2 = Array.from(new Set(arr)) console
阅读全文
摘要:原生排序 let arr = [5,2,1,4,9,8] for(let i = 0 ; i < arr.length ; i ++) { for(let j = 0 ; j < arr.length -1 ; j ++) { if(arr[j] > arr[j+1]){ let num = arr
阅读全文
摘要:使用框架:element Plus + vue3 场景描述: 场景一: 表单的添加和修改功能,公用同一个弹框,点击修改后,点击添加表单显示的是上次修改的数据。 场景二: 点击修改,数据回显到表单,然后点击取消关闭弹框,在关闭的时候使用resetFields()清空数据,第二次点击修改的时候,回显的数
阅读全文
摘要:在写表单的时候,容易碰到这种嵌套表单的数据校验,并且这种表单是动态添加的,网上大部分的做法是表单套表单,实际上只需要一个表单就可以了。 为了方便观看,这里只列举了两条数据 多级表单嵌套校验 <el-form ref="ruleFormRef" :model="ruleForm.FormTable"
阅读全文
摘要:在开发中有些功能是通用的,而且逻辑大致相同,像这种东西可以封成一个组件,比较常用的就是函数封装,组件封装,组件封装是需要引入到页面使用的,所以通常它会有一些自己的方法,父子组件可以通过一些值来进行关联,这种方式也就是我们所说的组件传值,vue3+ts的组件传值其实就是组件传值加上了数据类型约束,并没
阅读全文
摘要:实现效果 导出后的效果: 步骤 第一步:安装依赖 npm install --save xlsx file-saver 第二步:给表格添加id,导出的时候需要用到 <!-- 导出按钮 --> <el-button type="primary" @click="exportExcel">导出</el-
阅读全文
摘要:使用 mitt // 全局引入 npm install mitt 或者 cnpm install mitt 在main文件中挂载 import { createApp } from 'vue' import App from './App.vue' import mitt from 'mitt' /
阅读全文
摘要:NProgress.js 官网:https://ricostacruz.com/nprogress/ 安装方式: npm install nprogress 使用方法 在router 的index.js文件下引入 // 引入NProgress进度条 import NProgress from 'np
阅读全文
摘要:TS的基础使用 // 数字 let num = ref<number>(100) // 文字 let str = rer<string>('文字') // boolean let bo = ref<boolean>(true) // null let n = ref<null>(null) // u
阅读全文
摘要:某些场景下,我们拿到的键名与预期的键名不符,这个时候就需要替换键名来得到我们想要的内容 let obj = [ { id:1, title:'zs' }, { id:2, title:'ls' } ]; // 但是我们实际想要的效果是: {id:1,name:'zs'} // 此时可以把对象转为st
阅读全文
摘要:这里主要用到button的open-type功能,官网已有说明: 给button设置open-type="chooseAvatar",来使bindchooseavatar方法生效,在bindchooseavatar指定的函数中获取用户的头像信息 <button open-type="chooseAv
阅读全文