- 博客(28)
- 收藏
- 关注
原创 promise.then和async, await概述
模拟写一个接口,底层的Axios是用promise 来包的,成功后接口返回的是resolve,失败后接口返回的是reject。async 和await也是把异步变为同步,先调接口才能得到res(接口中返回的值)。但是比promise.then更美观。接口.then((res)=>{console.log(res)}把异步变为同步,先调接口才能得到res(接口中返回的值)。
2023-04-12 10:44:44 99
原创 前端vue 每日复盘
get是必写的,set不必写。让visible=父组件传来的visible,如果visible的值变才走set。假如父组件传过来的值是true(23行),子组件改变成false(21行),值改变了就走25行的set,然后26行通过emit子向父传参,父组件的值变成false。里面的值互相映射,比如:tagTypeList[50]的值为'应用标签',tagTypeList['应用标签']的值为50。计算属性:computed。
2023-04-10 09:26:22 62
原创 前端vue 每日复盘
利用定时器setTimeout完成防抖功能,每个setTimeout都必须伴随一个clearTimeout,用完定时器后清除定时器。setTimeout里面的那个clearTimeout 是用来清除最后一次的定时器。用new set进行数组去重,比如const b=new set([1,2,3,1]),b的结果就是[1,2,3]。用...对数组进行解构,比如:const a=[1,2,3],...a的结果就是1,2,3。用Array. from(……)把未知数据类型的数据变成数组类型。
2023-04-06 16:34:53 131
原创 post和get传参概述
1. get传参只能用params,post传参能用params 和data。3. data 放在请求体(body)里面,url中看不到。2. params是拼接在url 后面的。
2023-03-10 10:54:57 117
原创 深拷贝浅拷贝概述
浅拷贝:a=1,b=a,改变一个另一个也会改变深拷贝:a=1,b=_.cloneDeep(a),改变一个另一个不变不需要原数组就直接=就好了(浅拷贝),还需要原数组,就要用深拷贝。如果是一个比较重要的复杂数据类型,需要反复使用,最好深拷贝。
2023-02-24 17:12:07 80
原创 定时器setTimeout和vue函数$nextTick概述
在一个方法里的代码都是同步执行的,加了$nextTick就变成异步了show() { this.edit = true; // 先执行 this.$nextTick(()=>{ 后执行的语句 }) }和定时器几乎没有差别,定时器多了一个延迟多久后执行语句setTimeout(() => { 后执行的语句}, 1000)dom节点代表一个div或者span,input等
2023-02-22 15:37:10 425
原创 $set 概述
什么时候使用set?定义一个对象: item:{ oldProperty:"旧属性" }定义一个方法:addProperty(){ this.items.newProperty = "新属性" // 为items添加新属性 console.log(this.items) // 输出带有newProperty的items
2023-02-18 16:07:24 689
原创 前端vue 每日复盘
防止刷新丢失信息,可以利用sessionStorage将信息暂存在浏览器里:存储数据:sessionStorage.setItem(“自定义名称”, “要保存的数据”)提取数据:sessionStorage.getItem(“自定义名称”)在store的index.js中写vuex进行数据存储,然后在.vue的文件中进行引用(引用格式:)(使用格式:)vuex的state相当于data,mutations相当于methods(同步),actions用来调接口(异步)。调完接口
2023-02-09 10:09:57 67
原创 前端vue 每日复盘
表单验证:return后不执行后面的内容Input框防止恶意空格用v-model.trim拿到后端的报错信息:try{调接口}catch(error){console.log(error)}map不会修改原数组const newArr=arr.map((item)=>{item})形成新数组
2023-02-07 14:35:17 53
原创 前端vue 每日复盘
动态样式:html部分:class="{样式名称:满足什么样的条件时显示该样式}"css部分:.样式名称{样式……}filter过滤:数组=数组.filter((item)=>{return 满足什么样的条件时留下来 不满足这个条件的过滤出去}
2022-12-12 13:56:10 101
原创 ref概述
ref加在普通元素上 利用this.$refs.ref的值 获取到dom元素ref加在子组件上 利用this.$refs.ref 的值.子组件的方法 获取到子组件的方法ref需要在dom 渲染后才有 使用时确保dom 已经渲染完成 比如在生命周期mounted 钩子中调用 或者在this.$nextTick(()=>{})中调用
2022-12-07 17:46:14 153
原创 前端vue 每日复盘
1. 子向父传参子组件:this.$emit("随便起个名字", 要传的参数)父组件:在子组件插槽中:@随便起个名字="接受参数的函数($event)"接受参数的函数(要传的参数){console.log(要传的参数)}2. 父向子传参父组件:在子组件插槽中:ref="随便起个名字"在函数中,this.$refs.随便起个名字.函数名(要传的参数)子组件:函数名(要传的参数){console.log(要传的参数)}
2022-12-06 13:59:25 288
原创 前端vue 每日复盘
跳转链接:window.open(url)监听地址栏的变化:写在watch里,$route(to,from){...}from:从哪个页面跳转,to:跳转到哪个页面如果数据库里有的集合有字段,有的集合没字段,但是要一起循环时:const x=data?.children
2022-11-10 09:42:26 238
原创 前端vue 每日复盘
回到顶部:document.documentElement.scrollTop=0获取地址栏的内容:const url=window.location.href强制转化为字符串:String(x)强制转化为数字:Number(xx)
2022-11-09 15:29:40 207
原创 前端vue 每日复盘
关于组件穿透:CSS:.父类名>>>.子类名sass,less :.类名/deep/.第三方组件名关于兄弟组件传参:通过公共组件eventbus.js,两个页面都引入这个组件。传值的页面用bus.$emit收值的页面用bus.$onshare 是一个标识,两个页面的share 要一致。val 是形参,接收this.islogin的值,然后让本页面的全局test 🟰val 。
2022-11-04 09:32:53 72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人