
笔记
废物的自我修养记录
这个作者很懒,什么都没留下…
展开
-
vue插槽
3.2 Son.vue实现方法,插槽上定义变量名称userInfo,把user变量赋值给userInfo 如下 ,3.1 需求:现在Son.vue组件中有个user变量要在Parent.vue组件中使用,如下。3.3 Parent.vue组件获取值。原创 2024-02-02 14:54:30 · 477 阅读 · 1 评论 -
类写法和构造函数写法实现选项卡案例
类和构造函数学习原创 2023-08-02 11:37:19 · 245 阅读 · 0 评论 -
vant dialog组件实现弹框关闭销毁
vant dialog弹框实现关闭销毁原创 2022-12-06 22:27:27 · 2597 阅读 · 1 评论 -
vant组件overlay设置溢出滚动在手机上没有效果
vant 属性lock-scroll原创 2022-12-04 19:55:19 · 1188 阅读 · 1 评论 -
vue中事件名放作为变量在循环中的写法
vue事件名变量循环写法原创 2022-08-16 20:31:02 · 610 阅读 · 0 评论 -
Collapse结合Grid宫格实现菜单隐藏和显示更多
collspace结合grid实现菜单过多隐藏和显示原创 2022-08-10 21:45:59 · 530 阅读 · 0 评论 -
移动端echarts图表的自适应使用
移动端echarts用法原创 2022-08-09 20:02:55 · 2972 阅读 · 0 评论 -
用document.write拼接生成n行m列的表格
document.write拼接表格原创 2022-06-15 21:59:27 · 666 阅读 · 0 评论 -
手动封装一个forEacht和Map
手动实现forEach原创 2022-06-09 08:25:59 · 376 阅读 · 0 评论 -
js类的继承写法
// 父>>>子继承class Enemy{ constructor(power){ this.power=power } attack=()=>console.log(`i'm attacking with a power of ${this.power}!`)}class Alien extends Enemy{ constructor(name,phrase,power){ super(power)原创 2022-05-27 16:52:25 · 535 阅读 · 0 评论 -
js扁平数组转树结构
export default { data() { return { lineData: [ { id: "01", title: "低压车间", procedureId: "" }, { id: "02", title: "拉丝工序", procedureId: "01" }, { id: "03", title: "绞线工序", procedureId: "01" }, { id: "05", title: "拉丝1原创 2022-05-16 22:37:11 · 176 阅读 · 0 评论 -
操作符:逻辑或
逻辑或 || 值1 值2 结果 true true true true false true false true true false false false 规则:如果第一个操作数是对象,则返回第一个操作数 :如果第一个操作数是false,则返回第二个操作数 :如果两个操作数都是对象,则返回第一个操作数 :如果两个数都.原创 2022-05-04 14:03:19 · 177 阅读 · 0 评论 -
有顺序的执行js异步接口
接口一: testCnode().then((res) => { console.log("res2", res); });接口二: let str = "ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=69020128776265001&t=0&aggr=1&cr=1&catZhida=1&lossl原创 2022-04-28 21:13:48 · 1139 阅读 · 0 评论 -
vue vant中循环复选框
vant中循环复选框,效果如下一开始不知道复选框的checked该从返回的列表中绑定什么值,随便绑定的话要不就是全选状态,要不就是不全选状态,无法做到一个一个控制实现代码:要素【利用对象属性没有时为undefined】 <van-swipe-cell v-for="(item, index) in dataList" :key="index"> <van-row style="display: flex; align-items: center">原创 2022-04-26 22:19:05 · 4423 阅读 · 0 评论 -
sql用法记录
格式时间: select to_char(to_date('2022-03'|| '-01 08:00:00','YYYY-MM-DD HH24:MI:SS'),'YYYYMMDDHH24MISS') from dual; select to_char(LAST_DAY(TO_DATE(('2022-03' || '-01 08:00:00'),'YYYY-MM-DD HH24:MI:SS')) + 1,'YYYYMMDDHH24MISS') from dual;with as 用法with a原创 2022-03-28 22:10:39 · 136 阅读 · 0 评论 -
js原型理解
/*prototype(原型/原型对象):每一个函数天生自带一个属性叫做prototype,他是一个对象只要函数定义好了之后,这个prototype就出生了构造函数也是函数,构造函数也有prototype __proto__ 每一个对象天生自带一个属性,实例对象也是对象,叫做__proto__,指向所属构造函数的prototype */ // function Person(name, age) { // this.name = name; //原创 2022-03-23 21:58:11 · 218 阅读 · 0 评论 -
async/await
1.使用async关键字可以让函数具有异步特征,但总体上其代码仍然是同步求值的 async function foo(){ console.log(1) } foo(); console.log(2); //1 //22.异步函数如果使用return 关键字返回了值(如果没有return会返回undefined),这个值会被Promise.resolve()包装成一个期约对象。在这个函数外部可以得到它返回的期约 async functi原创 2022-03-01 22:38:59 · 112 阅读 · 0 评论 -
实用小函数
数组随机化 const fn1 = (arrlist) => { arrlist.sort(() => Math.random() - 0.5); return arrlist; }; let arr = [1, 2, 3, 4, 5]; console.log(fn1(arr), "fn1(arr)");获取随机十六进制颜色const generateRandomHexColor = () => `#${Math.flo原创 2022-02-27 22:15:56 · 125 阅读 · 0 评论 -
异步接口请求多个优化写法
async init() { // 数据字典:库区号 await this.$http .get("/api/ms/api/getlist1") .then((res) => { this.stockNo = res.data.map((ele) => { return { value: ele.stockId, label: ele.stockName }; });原创 2022-02-25 23:08:35 · 167 阅读 · 0 评论 -
vuex页面实现多个页面跳转间的缓存
样例描述:现在有一个主页面叫home,有另一个页面叫音乐列表页面(qq-music),剩下一个页面叫音乐详情页面(qq-music-detail),现在要用vuex实现从home页面到音乐列表页面时,再从音乐列表到音乐详情页面。1.如果是从音乐详情页面返回音乐列表页面,则要把上次进入音乐列表页面的数据展示出来。2.如果是从首页进入音乐列表页面,则重新请求,不加载缓存数据如何用 vuex缓存数据在上一篇文章在已实现缓存的基础上,现在要解决的就是当从home页面进入音乐列表页面时如何清空缓存数据,如原创 2022-02-24 22:36:35 · 526 阅读 · 0 评论 -
vuex实现缓存
本样例以qq音乐搜索接口为样例,实现的效果为:点击上图中四个歌手的名称,把相应的音乐列表展示在右侧框框中,但如果点过一次后的接口则不再请求接口,使用vuex中第一次缓存下的数据展示。也就最后不管点击多少次,请求接口的次数最大为4次。代码实现如下:1: api.jsexport function getNewQqMusic(params) { return fetch({ url: "/splcloud/fcgi-bin/smartbox_new.fcg", method: "GE.原创 2022-02-22 20:48:24 · 1571 阅读 · 0 评论 -
函数arguments初识
使用function关键字定义(非箭头)函数时, 可以函数内部访问arguments对,从中取得传进来的每个参数值。arguments对象是一个类数组对象,不是Array的实例,因此可以使用中括号语法访问其中的元素,第一个参数是arguments[0],第二个参数是arguments[1],如果要确定传入多少个参数,可以访问arguments.length属性。function sayHi(name,message){ console.log('name'+name,'message'+mes原创 2021-12-28 21:49:51 · 266 阅读 · 0 评论 -
flex布局
flex-direction:row <div class="container"> <p>one</p> <p>two</p> <p>three</p> </div> .container{ margin:20px 20px; width:300px; height:200px; box-sizing: border-box; paddin原创 2021-12-24 23:07:24 · 425 阅读 · 0 评论 -
antd组件给后端传值时的特性
最近写的时候发现前台传过去的空格在后端代码中会变成null,传空字符串也是1. a-input 输入框组件在点击了allow-clear的清除小图标(相当于手动把输入框内的值全删除)后会传''(空字符串)2. a-input-number 全部清除后传03. a-select 清除后会传undefined ...原创 2021-12-19 20:58:04 · 345 阅读 · 0 评论 -
let块级作用域的体现
for(let i=0;i<3;i++){ let i='aaa' console.log(i) // 输出3次aaa, 循环条件的i和循环体的i处于不同的作用域,因为同一作用域下不可能同时声明两个i变量}原创 2021-12-17 23:08:45 · 82 阅读 · 0 评论 -
字符串方法:padStart(),padEnd()
padStart() , padEnd()通过原型可以访问:String.prototype.padStart(padLength [,padString]);String.prototype.padEnd(padLength [,padString]);它可以帮助我们实现用另一个字符串填充一个字符串,直到结果字符串达到给定的长度。padStart() 方法有两个参数:padLength 是填充后的结果字符串的长度。如果 padLength 小于字符串的长度,则字符串按原样返回,没有填充。p原创 2021-12-16 22:36:01 · 320 阅读 · 0 评论 -
reduce数组对象求和
reduce函数注意点:传入参数:pre[累加值],ele[当前值],index[索引],array[当前数组]当reduce没有传入初始值的时候,pre取的是数组的第一项,ele为数组的第二项当reduce有传入初始值的时候,pre取的是初始值,ele为数组的第一项 let list = [ { stove1: '12', stove2: '13', stove3: '14' }, { stove1: '12', stove2: '13', stove3: '14'原创 2021-12-13 21:10:54 · 2491 阅读 · 0 评论 -
【无标题】
for(var i=1;i<=5;i++){ setTimeout(function timer(){ console.log(i); },1000)}// 正常情况下,我们对这段代码的预想是分别输出数字1-5,每秒一次,每次一个。// 但是实际上,这段代码会以每秒一次的频率输入五次6。// 它会输出6是因为循环的终止条件是i不再<=5,条件首次成立的时i的值是6.因此,输出显示的值是循环结束时i的终止值。// 又因为延时函数是异步的,会在循环结束后才开始执行,所以每次会输出原创 2021-12-12 20:02:28 · 197 阅读 · 0 评论 -
js函数闭包
闭包可以在函数外部访问函数内部定义的变量例子一:直接访问会报错function fn1(){var a="3"}console.log(a)Uncaught ReferenceError: a is not defined例子二:在函数中返回一个函数,并且外部用变量来接收,可以访问到foo函数中的变量afunction foo(){ var a='2' function bar(){ console.log(a) } return bar;}var baz=foo();原创 2021-12-09 23:08:57 · 410 阅读 · 0 评论 -
in操作符
in操作符会检查属性是否在对象及其[[Prototype]]原型链中,如果存在就返回true,反之返回falsevar myObject={ a:2}('a' in myObject); // true('b' in myObject); // false注:看起来in操作符像检查容器内是否有某个值,实际上检查的是某是属性名是否存在。容易踩的坑会出现在数组中,如下:4 in [2,4,6] // false因为数组[2,4,6]中包含的属性名是0,1,2,没有4...原创 2021-12-07 22:27:55 · 138 阅读 · 0 评论 -
this的隐式绑定
一、隐式绑定:function foo(){ console.log(this.a);}var obj={ a:2, foo:foo};obj.foo(); // 2注:当函数引用有上下文对象时,隐式绑定规则会把函数调用中的this绑定到这个上下文对象。因为调用foo()时this被绑定到obj,因此this.a和obj.a是一样的注:当有多个对象属性链调用时,只有最后一层会起作用二、隐式绑定的坑:隐式丢失2.1 隐式丢失就是this的绑定会发生默认绑定,从而把this绑定到全局对原创 2021-12-06 21:51:00 · 510 阅读 · 1 评论 -
this全面解析
1.想要了解this的绑定过程之前,首先要理解调用位置:**调用位置就是函数在代码中被调用的位置(而不是声明的位置)**2.最重要的分析调用栈(就是为了到达当前执行位置所调用的所有函数)。而我们所关心的调用位置就是在当前正在执行的函数的前一个调用中下面用以下例子来看看到底什么是调用栈和调用位置function baz(){// 当前调用栈是:baz// 因此,当前调用位置是全局作用域console.log('baz');baz(); // <--bar的调用位置}functi原创 2021-12-04 22:42:28 · 85 阅读 · 0 评论 -
js:其他类型和布尔类型之间的比较
例子:var a='42';var b=true;a==b; // false我们都知道'42'是一个真值,为什么==的结果不是true呢?jacascript规范:1.如果Type(x)是布尔类型,则返回ToNumber(x)==y的结果2.如果Type(y)是布尔类型,则返回x==ToNumber(y)的结果所以上述例子b为布尔类型,会转换成'42'==ToNumber(true),而true进行ToNumber为变成1,所以变成'42'==1,所以这个比较变成false了所以原创 2021-12-02 21:10:29 · 687 阅读 · 0 评论 -
数组对象去重
把如下数组对象根据id去重,使id唯一 const data=[ {id:1,name:'1'}, {id:1,name:'1'}, {id:1,name:'1'}, {id:2,name:'2'}, {id:2,name:'2'}, {id:3,name:'3'}, {id:3,name:'3'}, {id:1,name:'1'}, ] le原创 2021-12-01 21:10:12 · 131 阅读 · 0 评论 -
css样式实现百度新闻侧边旋转
<template> <div> <div class="fixed"> <ul> <li> <a href="#"><i>1221</i><span>二维码</span></a> </li> </ul> </div> </div>原创 2021-11-30 21:34:45 · 174 阅读 · 0 评论 -
数组迭代方法:map
// map() 方法对数组每一项运行给定函数,返回每次函数调用的结果组成的数组 let users = [ { name: 't1', email: 't1@163.com' }, { name: 't2', email: 't2@163.com' }, { name: 't3', email: 't3@163.com' }, ]; let userRes = users.map(ele => { return ele.e...原创 2021-11-28 19:45:15 · 264 阅读 · 0 评论 -
实用小函数
// 验证一个数字 function isNum(n) { return !isNaN(parseInt(n)) && isFinite(n); }// 验证一个字符串 function isStr(value){ return typeof value==='string' } console.log(isStr(3))// 检查是否为空 function isNull(value){ return原创 2021-11-24 21:57:27 · 81 阅读 · 0 评论 -
vue自定义指令完成一个拖拽
官方样例:自定义指令<div class="box" v-drag></div>.box { width: 100px; height: 100px; background: orange;} directives: { //指令2 drag: { // 指令的定义 inserted: function (el) { console.log("el2",el) el.style.posi原创 2021-11-22 22:11:54 · 563 阅读 · 0 评论 -
常用正则表达式
1,用户名正则// 用户名正则(4至16位,字母,数字,下划线,减号)var uPattern=/^[a-zA-Z0-9_-]{4,16}/2,手机号正则var mPattern=/^1[34578]\d{9}&/3,十六进制颜色正则// rgb hex颜色正则var cPattern=/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/...原创 2021-11-21 21:28:26 · 242 阅读 · 0 评论 -
使用css实现文本两端对齐
原图效果:效果图:实现代如下:HTML代码: <ul> <li>大道至简</li> <li>菩提</li> <li>只可意会</li> <li>不可言</li> </ul>CSS样式:ul{ float: left;}ul li{ width:80px; height:30px; list-sty原创 2021-11-17 22:27:50 · 150 阅读 · 0 评论