- 博客(29)
- 收藏
- 关注
原创 Object.prototype.toString.call()校验数据类型的原理?
当删除Array上的toString方法,根据原型链,会继承Object上的toString方法,而Object.prototype.toString.call(),就是改变this指向,直接就是用Object构造函数上的toString方法来判断的。
2023-12-12 23:17:10 79
原创 vue中代理proxy的原理
整个请求过程是:向本地服务即vue编译项目时,启动的服务,例如localhost://8080,本地服务再去请求后端服务,就可以完成跨域,完成请求。proxy代理请求过程是为了本地服务向后端服务请求,而做的代理,本质上不是直接解决跨域,不是让不同源变成同源。那为什么这个时候不再存在跨域了呢,是因为跨域只有在浏览器才产生,在服务与服务之间是不存在的。出于浏览器的同源机制,不同源就会产生跨域,无法访问。首先产生代理的原因?
2023-12-12 22:35:08 306
原创 vue中懒加载组件的几种方式及优缺点
此写法也是异步组件,懒加载,但是一个组件只能打包到一个js中。无法合并到一个js中。并且如果引入的组件是index.vue,在name目录下,这个时候必须引入精确到index.vue,否则找不到该组件。若想把多个组件打包到一个js文件中,可以加上/* webpackChunkName: "[name]" */,来实现。此写法在webpack2.x中,路径里不可拼接变量,会报错,但是在webpack4.x中可支持变量参数。但是name不能是参数,只能是字符串。第一个参数:是一个数组,是当前模块的一些依赖。
2023-10-24 22:11:04 267
原创 vue中babel-plugin-dynamic-import-node插件的优缺点
使用方法: 在babel.config.js中 写入plugins: ['dynamic-import-node']2.缺点:此插件不支持import 写法。当利用import异步引入组件的方式时,再使用此插件会报错,找不到此组件。1.如果想加快项目的编译速度,可利用此插件。
2023-10-24 21:45:18 416
原创 vue中异步组件和动态组件是什么
总结:home组件由于是异步引入,当点击home按钮时,才加载home组件,这里是指加载组件渲染函数(只有这一次加载),about组件是同步引入,当初次进入index文件时就已经加载(只有这一次加载)。son组件是异步引入,当初次进入index文件时,不加载,原因同上。2.异步组件:按需加载,这里按需加载不是组件的实例加载,而是去后台请求异步组件渲染函数,然后根据这个渲染函数创建组件实例。isComponents 根据条件去赋值不同的组件。1.动态组件:顾名思义,是动态的,不确定的。
2023-10-19 23:06:01 46
原创 boolean值和0,1的关系
console.log(true==1,false==0);//true true console.log(true===1,false===0);//false false
2023-10-19 22:30:11 172
原创 vuex中this.$store.dispatch()返回promise对象的用法
this.$store.dispatch()返回的是promise对象,.then方法接收到的参数是action里面触发的事件的返回值:
2023-06-14 22:57:59 1531
原创 css引入方式有哪些
2.link标签除了引入css还可以引入其他内容,而@import 只能导入css。1.链式是同时引入css和html,而导入式是先加载html,然后加载css。3.js操作dom时,只能操作link引入的,不能操作import导入的。5.@import有兼容性(IE5以上),link没有兼容性。4.import会增加http请求。
2023-06-12 22:35:10 40
原创 for of的用法
1.遍历数组let a = [{b: 1}, {c: 2}];2.支持解构let a= [{code: 1}, {code: 2}];for (let {code} of a) {
2023-06-01 23:18:52 37
原创 js中substring()和substr()的区别和用法
当有第二参数时,substring方法与slice方法类似,截取片段,substr则与数组的splice方法有点类似,是截取从开始下标,第二参数为长度的片段。1.substring(开始下标,结束下标) 第二参数可选。区别:当都没有第二参数时,用法相同,都是截取从开始下标-结束的片段。2.substr(开始下标,长度)第二参数可选。
2023-06-01 23:00:59 127
原创 js中全等=== 和Object.is()的区别
那么用什么方法来判断所有类型数据的全等呢,答案:当然是es6中的Object.is(数据1,数据2) ,返回boolean值。我们一般常用===来判断值和类型的全等,但遇到-0与+0不是全等的,NaN与NaN也不是全等的,
2023-06-01 22:17:49 35
原创 js中判断数据类型的方法有哪些
2. 实例 instanceof 数据类型 返回boolean值 复杂数据类型也能判断,但null undefined symbol 无法判断。3.Object.prototype.toString.call(实例) [Object Array] 各种类型的都能判断。1.typeof 基本简单的数据类型能判断,但数组,null则无法判断。
2023-05-31 23:02:02 20
原创 vw/vh/vmin/vmax/em/rem/%/px的区别
vmin/vmax:取视窗宽和高的最小值作为基准/取视窗宽和高的最大值作为基准 1vmin=1080px/100=10.8px 1vmax=1920px/100=19.2px。vw/vh:相对于视窗的宽和高 1vw=视口宽/100 1vh=视口高/100。rem:相对根元素的大小。
2023-05-30 23:14:16 112 1
原创 this.$emit(‘input‘,val)的用法
父组件可通过v-model来接收子组件传递的参数,因为v-model的原理就是使用了@input事件实现双向数据绑定。同理,父组件v-model='val' 子组件通过props可接收父组件传递过来的val。
2023-05-29 22:50:14 2038
原创 this.$emit(“update:xx“,vals)与.sync的用法
说明:一般按照常规写法,父组件执行事件,接收参数,在子组件上写入 @update:name=‘事件’,但是在引入组件时可以 :name.sync='参数',此参数就是执行函数,接收到的参数,函数可省略,直接使用:name.sync就可以接收了。
2023-05-29 22:21:40 428 1
原创 git常用的命令
git revert HEAD^ 提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。git reset --soft HEAD^ 回退到指定版本,原版本内容不会丢失,版本提交记录不会被保存,版本不会递增。git reset --hard HEAD^ 回退到指定版本,原版本内容会丢失,版本提交记录不会被保存,版本不会递增。git push -u origin 分支名 首次推送远程或者创建的新分支需要推送到远程,用到此命令。
2023-05-25 07:17:35 19 1
原创 vue中父传子函数,在子组件调用的情况
总结如下:当父传子,传递函数时,在子组件内调用,是可以正常访问到父组件的变量,从而实现组件内数据的传递。
2023-05-17 21:33:02 118 1
原创 在vue中新增对象或数组的值的时候为什么要用this.$set
2.在vue中对象实现视图更新的机制是:通过遍历datas里的值,监听'getter'和'setter'方法,当这些值更新的时候,就会触发视图更新。二,当对象datas的属性sex不存在,对其新增属性sex,通过图中方式视图sex不会即时更新成"男",但27行打印结果是男。一,当对象datas的属性sex存在,仅进行修改,通过图中方式视图sex会即时更新成"男",并且27行打印结果也是男。总结:1.若想第二种情况视图即时渲染更新成男,就需要用到this.$set进行处理。
2023-05-16 23:03:10 278 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人