- 博客(29)
- 收藏
- 关注
原创 [Vue的面试题]关于指令
首先我们得在main.js里面编写我们需要自定义的指令,这样全局就都可以使用得到这个指令我们在组件中使用:只需要在相应的组件创建自定义指令就好了运行结果:tip:值得一提的是,我们经常用的都是全局自定义指令,基本上不用局部,因为创建自定义指令的目的就是为了重复高效的在多个组件中使用bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)update。
2023-01-20 10:28:39 216
原创 [Vue的面试题]关于Api
面试官:你有没有碰到过,数据更新视图没有更新的问题==》$set例如:运行结果:按了按钮之后:编写的数据更行了,但是视图并没有更新(忽略报错,这个是博主浏览器插件的报错)所以这个时候我们需要用到 $set,用法: this.$set(target,key,修改后的值)我们修改完之后,就会使数据和视图都能发生变化了,而且不会报错$nextTick返回的参数[函数],是一个异步的。功能:获取更新后的dom等源码|原理:callback 是所欲要运行的函数,如:想要在create中获取dom。
2023-01-19 15:19:52 214
原创 [Vue的面试题]路由相关问题
user=1,则有 $route.query.user == 1, 如果没有查询参数,则是个空对象。简而言之就是通过对后端数据的请求,经过守卫拦截和路由添加等处理,把请求到的数据添加到路由当中,然后再渲染到页面之中。:一个 key/value 对象,包含了 动态片段 和 全匹配片段, 如果没有路由参数,就是一个空对象。当x为1的时候是将浏览器页面前进,当x为0的时候是将浏览器页面刷新,当x为-1的时候则是将浏览器页面后退。直接跳转到home路由界面,此跳转是有历史记录的,使用浏览器的返回按钮是可以返回的。
2023-01-18 15:23:03 180
原创 [Vue的面试题]Vuex的使用,属性和持久化存储
tip: 值得一提的是,这两种用法得到的数据都是不可以改变的,也就是取到的数据都是只读的,一旦强行去改变数据,则会发生报错,如使用双向绑定。原因是 第一种方法是直接从Vuex中取到的数据,而第二中方法则是mapState从Vuex中取到了数据,然后把数据复制一份,再传给组件的。同理如果渲染到页面上的话,this是可以省略的,如果在数据中使用this是需要带上的。XXX表示挂载的大的分类的数据变量名称,xxx表示打的分类里面详细的数据。mutations是来修改state的值的,actions的作用是来。
2023-01-16 16:54:26 295
原创 [Vue的面试题]插槽/slot
匿名插槽:插槽没有名字,父组件编写子节点的内容只能放在一起使用方法如下首先父组件引用子组件 然后再组件内部编写需要的内容(然后我们到子组件里面去,只需加入slot节点,上面的内容便可以显示出来内容显示。
2023-01-15 16:12:29 391
原创 [Vue面试题]关于组件
tip:如果自定义方法是通过交互行为来得到子组件的数据的话,那么则在created、beforeMount、mounted使用自定义的方法是无效的。}}来渲染到页面上,如果强行要渲染到页面上,则可以设置一个变量,将值赋给这个变量,再又这个变量来渲染到页面上。但这里的子组件的数据只能在父组件的数据里面拿到,而不能直接{{this.@children[0].子组件通过:this.$parent.xxx使用父组件的数据。父组件要在子组件上面使用相应的事件并绑定相应的函数方法。
2023-01-13 18:16:02 147
原创 [Vue的面试题]生命周期加入keep-alive的补充
如果当前组件没有加入keep-alive,则还是跟第一次进入一样,执行beforeCreate、created、beforeMount、mounted,因为组件没有被缓存。mounted : 同步可以获取dom,如果顺序是先子组件请求后父组件请求,则需要把请求放到mounted中。如果当前组件加入了keep-alive,只会执行一个生命周期activated,因为这个组件被缓存了。如果使用了keep-alive组件,当前的组件会额外增加2个生命周期(系统8 + 2 )
2023-01-12 11:16:04 333
原创 [vue的面试题]关于声明周期
1 生命周期有哪些?生命周期vue中系统自带的有8个,分别是beforeCreate、created、beforeMount、mounted、beforeUpdate、update、dbeforeDestroy、destroyed2一旦进入组件会执行哪些生命周期?会执行前4个生命周期beforeCreate、created、beforeMount、mounted。
2023-01-12 10:11:24 216
原创 [随笔一记]Css中a链接同页面下可以平滑的移动到相应的位置
当样式添加了这串代码之后,就不回像之前一样,一瞬间弹到相应的位置,而是平滑地移动过去,使用户的体验更加舒适。Css中a链接同页面下可以平滑的移动到相应的位置。主要就是箭头所示的一句代码。
2023-01-07 20:02:42 214
原创 [随笔一记]当eslint报出‘xxx‘ is assigned a value but never used no-unused-vars 解决方法
解决eslint报出错误:‘xxx‘ is assigned a value but never used no-unused-vars。
2022-11-23 16:50:27 5995
原创 [随笔一记]浏览器渲染的流程
重排:当页面的首次渲染会发生重排,然后就是当也面DOM被操作,或者一些布局节点发生改变的时候,都会发生重排。重绘:页面的节点、布局什么的都不发生改变,只有一些颜色属性发生改变,就会发生重绘。3、解析请求的CSS文件,构建CSS规则树。2、解析请求的HTML文件,构建DOM树。4、将DOM树和CSS规则树合并成渲染树。1、首先通过网络获得所请求的文档内容。5、最后就是重排和重绘了。
2022-11-18 17:14:31 105
原创 [随笔一记]数组属性和长度题目
但如果是let b=99,arr.b=1,这样来添加的话,数组的长度还是不会变的。但我个人觉得应该是4,就去群里问了下大佬,为什么输出的结果是3而不是4。这个结论,但有个例外,就是。
2022-11-13 16:43:49 77
原创 [随笔一记]笔试题查缺补漏
如果需要,作为第一个参数传递的值将转换为布尔值。如果省略该参数或参数值为。big容器的宽高依旧是 100% 和 50px。big容器的宽高是 100% 和 50px。但如果把表单控件改为标签,则是不支持!所有其它值,包括任何对象,空数组(),则该对象具有的初始值为。,都会创建一个初始值为。
2022-11-08 13:04:11 101
原创 [随笔一记]浅拷贝和深拷贝
首先我们写一个需要浅拷贝的对象方法一:用循环来遍历赋值打印的结果是:方法二:用es新特性,打印的结果是:但浅拷贝值得注意的是,深层次的属性拷贝到新数组的时候,是连同地址一起拷贝过去的,这时就会出现问题,如下:此时打印的结果是:浅层次的属性发生改变的时候,原对象不会发生改变,但深层次的属性发生改变的时候,因为是用的同一个地址,所以原对象深层次的属性也会发生改变,所以为了避免这种状况的发生,我们也就有了深拷贝。
2022-11-06 10:20:53 263
原创 [随笔一记] [ ] == [ ] 输出的结果是?
一个不是 null 或者 undefined 的对象(包括[ ])用在布尔表达式中,也就是后者[ ],会被作为 true 处理。[]单独用在==表达式中时,也就是前者[ ],会隐含转型为" "(空字符串)[ ] 等价于 (" "==false),而空字符串在布尔表达式中作为 false 处理。[ ]==[ ] 等价于(" "==true)[ ] == [ ] 结果是 false。[ ] 结果是 true。
2022-11-05 10:31:08 1144
原创 [随笔一记]让一个div盒子变成textarea
主要的属性就是contenteditable这个属性,contentedit的意思是内容编辑,后面+able,就是内容可编辑的。如果想自由拉伸的话,我们则还需要设置resize和overflow属性。但如果只设置了resize是没有用的,得搭配上overflow:auto。将resize设置成both,我们就可以上下和左右自适应拉伸。这样这个div就变成了一个合格的textarea了!然后再给盒子加上点属性,就可以在里面编辑内容啦。在浏览器中显示的效果如下。在浏览器中的效果就是如下。
2022-11-05 10:08:25 344
原创 [随笔一记]事件循环——async和await
但async内部遇到await的时候,只有当await右边跟随的代码执行完毕的时候,才会执行后面的代码,此时后面的代码也可以算作内部的微任务。值得注意的是,promise内部遇到resolve()和reject()调用的时候,会继续执行后面的代码,遇到了await 先执行右边的代码才会执行后面的代码。async和await也属于异步任务中的微任务。首先执行同步任务 script start。然后执行微任务 async1 start。最后执行宏任务 setTimeout。所以 接着是 async2。
2022-11-04 11:35:12 956
原创 [随笔一记]事件循环——宏任务和微任务
2、promise本质上是同步任务,它的。then()方法才是异步的微任务。3、执行的顺序是 同步代码---微任务---宏任务 来循环。1、JS代码段是一个大的宏任务。首先执行的是同步任务1345。再执行异步微任务50。最后执行异步宏任务2。
2022-11-04 11:09:21 99
原创 [随笔一记]事件循环(eventloop)
4、当执行栈中的代码全部执行完毕的时候,就会检查任务队列里面是否有异步的任务,如果存在异步的任务,就会送到执行栈去执行,然后反复循环查看执行,这一整个过程就是事件循环。2、同步的代码会直接给js引擎执行,而异步的代码会交给宿主环境(浏览器环境\nodejs)来执行。3、同步的代码会优先放入执行栈中,异步的代码,当宿主环境处理完时,会按先后送到任务队列排队。1、因为js语言是单线程,为了防止代码阻塞,代码会被分为同步和异步。
2022-11-04 10:42:27 89
原创 [随笔一记]关于闭包
简而言之,一般我们会再拿一个函数把这个闭包,包起来,这样是为了防止数据泄漏和一些安全隐患对于闭包,不一定会有return和内存泄漏。
2022-11-04 10:29:58 82
原创 [随笔一记]怪异盒子模型
'怪异盒子模型'这个词还是最近一次面试的时候听到的,其实在之前也用到过,只是太久远了忘记它的名词叫啥了...然后这个题我只能尴尬的回答不知道....没听过....样式设置成border-box之后,当我们的盒子宽高确定之后,无论怎么样改变border和padding的值。一行代码表示怪异盒子模型就是 box-sizing: border-box;但如果是标准盒子的话,盒子的宽高就会发生相应的改变。盒子的宽高都是不变的,
2022-11-04 09:56:34 118
原创 [随笔一记]白话文讲Get和Post
2、Get和Post没有规定一定得用什么来提交和读取数据,他们都可以提交和读取,一般是看后端给的数据接口是什么就用啥,如果非要分的话,Get偏向用于读取,Post偏向用于提交。1、Get参数会提交到url上,但Post不会,所以Post的更加安全,而因Get的参数在url上,所以Get的请求可以被缓存,Post请求则不可以。
2022-11-03 09:58:40 102
原创 [随笔一记]Vue3中,全局自定义属性的调用
/首先我们得在main.js里面声明我们要挂载的属性或者方法two!'//接着我们进入组件//首先从‘vue’中导入'getCurrentInstance'方法//然后我们进入setup内部setup(){//结构可以获得proxy//接着我们就可以proxy.$xxx 来调用我们的属性了}在模板内容中使用就不用那么麻烦,在main.js里面定义完了之后,就可以再模板中用{{$xxx}}来使用,使内容呈现在页面中//例如使用上面得字符串say跟我说:{{$say}}
2022-11-01 19:27:02 1124
原创 [随笔一记]npm安装插件包失败和更换下载源方法
有的时候获取到同事,或者其他大佬的源码文件的时候,我们也时长需要把他们安装的许多包下载下来,如果安装的插件不多还好,但如果是大的项目的话,下载插件则也会消耗很长时间,所以我们可以先下载nrm。则可以尝试 npm i axios --legacy-peer-deps。最后再输入想更换的下载源如:nrm use taobao。使用npm install -g nrm来全局下载。如:npm i axios 安装出现Error。然后再调用nrm ls指令来获取下载源的列表。这样就换成淘宝的下载源了。
2022-10-30 21:55:59 708
原创 [随笔一记]箭头函数的补充
然后今天在看大佬的代码段中,看到了个()=>({ })的样式。之前自学的过程中,只知道箭头函数的()=>{ }的样式。就如同代码里面注释的,是一种返回的简写方式。就在交流群里问大佬 是啥意思。
2022-10-30 13:18:03 72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人