自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 ns总结111

CategoryTree是左侧得树形结构,封装在views得components中了。接收参数 :传递数据类型、数据列表、标题啥的。树形结构也有很多组件,搜索、刷新什么的。这是整体的一个页面布局吧,有三个组件。

2023-08-02 18:24:32 105

原创 addRoute()动态添加路由。

登录页面,点击登录,向后端接口发送api请求。后端根据用户名不同,返回不一样的菜单列表,触发mutation中的方法,设置路由,存储到本地localstorage中。再触发addMenu动态添加路由,component: () => import('@/views/User.vue')//路由按需加载。component: () => import('@/views/User.vue')//路由按需加载。meta: { title: '用户管理' },meta: { title: '用户管理' },

2023-07-22 16:30:03 2961

原创 ajax+异步promise+async+await

总之,除非Promise.then()方法内部抛出异常或者是明确置为rejected态,否则它返回的Promise的状态都是fulfilled态,即完成态,并且它的状态不受它的上一级的状态的影响。语言,即一次只能完成一个任务,若有多个任务要执行,则必须排队按照队列来执行(前一个任务完成,再执行下一个任务)。简单点说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。ajax=异步js+xml,ajax实现客户端和服务端进行异步通信,实现页面的局部更新。

2023-07-22 11:16:09 181

原创 二次封装axios

为什么?* 开发环境* 测试环境* 线上环境},test: {},pro: {},设置请求拦截器主要是对token、header的设置,token 如果存在就加在配置项的头部/**设置请求拦截器*客户端发送请求 => 【请求拦截器】 => 服务端接收*token校验(jwt):接收到服务器返回的token,将他保存在vuex/本地存储里边,*每一次请求的时候都应该给token带上*/// 假设我们把token存储到本地存储中的。

2023-07-22 09:49:46 114

原创 mock.js

前后端分离,有时候项目刚成立,后端的数据不会那么快写好,所以用mock模拟数据,一般后端会先出接口文档,会给接口的地址,mockjs可以。,有了mockjs我们可以模拟后台返回数据,以方便的进行一系列的操作。接下来新建一个mockData.js把模拟的数据存储进去。然后新建一个mockjs配置拦截请求。在需要渲染数据的页面,发送请求。在main.js中引入。

2023-07-21 17:30:42 54

原创 做项目时候活动详情页面遇到的思考总结1。

能否被点击就是看页面上使用的组件超没超过组件的最大值,整个页面得数据在state得pagedata中。总体就是通过左侧对组件得拖拽实现在crs中得页面组件得渲染和预览展示,中间使用了Window.postMessage()方法进行跨源通信。4.组件得样式,字体大小,背景色,组件里文本内容、行高、行距。拖拽开始,拖拽的状态设置成不可拖拽,然后控制拖拽数量。对组件的修改就是对组件jason对象得修改!1.组件的名字、这个组件下得组件名字。遍历组件,动态判断组件是否可以拖拽。拖拽实现,拖拽开始得时候、拖拽之后。

2023-07-19 21:54:38 69

原创 做项目时候navbar遇到的思考总结1。

原因是按钮组件与侧边栏组件不是父子组件的关系,按钮点击事件改变 state.sidebar.opened 值为 true 或 false。侧边栏组件需要读取 state.sidebar.opened 来决定自己是要展开还是折叠?需要渲染得title在meta对象中,所以先判断是都有这个属性,因为面包屑第一个总是首页,所以先判断每个路由是不是首页,不是就连接上首页,最终得到一个数组。点击按钮(展开与折叠按钮),触发左侧菜单栏的张开与折叠,需要使用一个变量(state.sidebar.opened)来控制。

2023-07-19 21:23:38 216

原创 做项目时候sidebar遇到的思考总结1。

applink中用动态组件(因为如果是外部链接那么为a标签,如果是内部渲染为router-link)并且有一插槽,总结到最后,其实想想这个组件还是比较容易得,难点大概就是写逻辑的时候写不太出来吧。还有组件拆分得时候。拆分item组件(icon、title)和重复利用sidebar-item组件(数据为item.children,路由)动态组件可以根据不同得条件组件自己渲染,插槽的话就是可以插入不同dom,给父元素占位,这是我以前做项目没接触到的。在sidebar中,拆分,每个sidebaritem项目。

2023-07-19 12:01:15 412

原创 深度遍历 和 广度遍历

首先根节点入队,然后第一个节点出队shift,输出的顺序就是bfs结果。获得这个节点的孩子,然后遍历他的孩子,push到队列中,先把根节点,输出根节点,然后遍历根节点的孩子。每次遍历的是离根节点最近的,用到了队列。

2023-06-04 17:39:16 50

原创 this指向的一个题

妈呀啊啊啊啊啊啊啊啊啊啊啊,真的要崩溃,看视频的时候看到了一个this指向的题,想了半个小时。真的被自己蠢到,怎么会有人这么笨啊。就是在window上改变x的值为6 ,然后this指向y,x没了,因为this改变指向啦啊啊啊啊啊啊啊啊啊。首先看 x,这个函数其实就是在window上添加一个x属性,然后返回window对象,就是在window上添加一个属性x=5 然后把this指向x,x就是个window对象。所以x.x undefined。

2023-05-12 21:35:07 53

原创 vue3`

监视函数体中定义的东西,只要发生了改变就会调用,有点像computed,(因为只要里面发生变化,函数就会改变),但是computed注重的是结果,监视注重的是过程。16.vue3:组合式api,更优雅得组织代码,让相关功能的代码更有序地组织在一起,更大的发挥自己得优势,要运用hook函数!12.vue2不能直接监视数组得变化,就是可以改变数组,但是改变了不能显示到页面上,必须用this.$set,监视的是reactive,new和old返回的不对,会发现他两个返回的数据相同,并且强制开启了深度监视。

2023-05-11 14:57:34 60

原创 vue2尚品汇学到得新知识

4.uuid生成游客数据,好难好复杂救命,在添加购物车的时候考虑到每个账号的购物车都不一样,所以模拟一下,先随机生成了字符串,引入额uuid.js,暴露了一个函数,获取uuid,先从本地获取看有没有,没有就生成一个,存储localstorage.setItem,最后返回uuid,再在购物车中引入,在state中创建uuid:getUUID(),把uuid'在请求头中传递给用户,在api请求拦截器中,添加一个新的属性为uuid,9.注册业务、登录三连环也是。跳转到购物车页面要传递参数,显示购物车里的东西!

2023-05-11 14:56:38 105

原创 外边距塌陷问题

有时合并(折叠)为单个边距,其大小为单个边距的最大值(或如果它们相等,则仅为其中一个),这种行为称为边距折叠。/*解决外边距塌陷的解决代码-4:给父元素加浮动【不推荐,可能带来未知的错误】*//*解决外边距塌陷的解决代码-5:给父元素设置display:table;/*解决外边距塌陷的解决代码-2:给父元素加溢出css*//*解决外边距塌陷的解决代码-3:给父元素加固定定位*//*解决外边距塌陷的解决代码-6:使用子绝父相*//*解决外边距塌陷的解决代码-1:给父元素加边框*/1.什么是外边距塌陷。

2023-05-06 11:16:11 324

原创 前端测试题查缺补漏

当父元素未设置高度时,所有子元素浮动后,造成子元素脱离文档流进而无法把父元素撑开父元素高度为0产生高度塌陷,称为高度塌陷问题。

2023-04-12 15:00:45 103

原创 前端自测题目查缺补漏3

1.页面渲染过程中遇见js文件怎么办js文件的加载会阻塞cssom、dom的构建也就是说,如果你想首屏渲染的越快,就越不应该在首屏就加载 JS 文件,这也是都建议将 script 标签放在 body 标签底部的原因。当然在当下,并不是说 script 标签必须放在底部,因为你可以给 script 标签添加defer或者async属性defer:defer等待dom加载完毕再执行js脚本。async脚本会在后台加载,并在加载就绪时运行。

2023-04-06 14:43:24 448

原创 前端小白练习题查缺补漏2

Math.pow(e,z)函数是返回e的z次幂,题目中为2的50次幂,start=2的50幂-100,start只比end大了一百,for循环中,循环了101次,因为相差100,两边都有等号,假设为0-100,所以为101次,++count不影响。从数组的后面向前查找,从。因为再push中只是定义了函数并没有调用,所以数组中存放的是四个一样的函数,最后循环输出的时候,i退出循环变成4,log(i),都为4。2为十进制,左移三位,先把2转化为2进制10,然后后面补3个0,10000,再转化为十进制,为16。

2023-04-05 12:02:07 264

原创 前端面试自我检测题目查缺补漏

网络七层协议 应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。如果 parseFloat 在解析过程中遇到了正号(+)、负号(- U+002D HYPHEN-MINUS)、数字(0-9)、小数点(.)、或者科学记数法中的指数(e 或 E)以外的字符,则它会。因为末位 n 字符被丢弃。的复制只会复制指针,复制后的变量和复制前的变量都。

2023-04-04 19:31:25 162

原创 npm nrm安装后报错

应该使用 open 的 CommonJs规范的包 ,现在 open v9.0.0 是 ES Module 版本的包。解决方法:npm install -g nrm。

2023-03-30 16:39:49 2257 6

原创 JS执行机制

我们可以看出多线程都是关于功能的并发执行。而异步编程是关于函数之间的非阻塞执行,我们可以将异步应用于单线程或多线程当中。异步和同步是相对的,异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。在单核处理器上,多线程往往会给人程序是在并行执行的错觉。实际上,处理器是通过。或者根据外部输入(中断)和线程的优先级的组合来进行线程的切换。因此,多线程只是异步编程的一种实现形式。

2023-03-15 19:40:48 43

原创 2024前端学习每天背4道八股文(持续更新中....

http 是超文本传输协议,信息是明文传输,HTTPS 协议要比 http 协议安全,https 是具有安全性的 ssl 加密传输协议,可防止数据在传输过程中被窃取、改变,确保数据的完整性(当然这种安全性并非绝对的,对于更深入的 Web 安全问题,此处暂且不表)。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。,然后通过网站的公钥来加密会话密钥,并传送给网站。

2023-03-15 19:08:29 245

原创 pink老师之BOM自学笔记

是js访问浏览器的一个接口全局作用域下,全局变量变成属性,函数变为方法。使用时可以省略windowwindow有个特殊属性name window.name。

2023-03-15 19:03:17 47

原创 DOM高级事件

dom高级事件

2023-03-15 15:57:41 40

原创 JS中三种创建元素方式区别

面试可能会考到!

2023-03-15 09:36:55 41

原创 前端学习之pink老师之dom

dom节点操作 pink老师随听笔记

2023-03-14 20:11:17 98

原创 css表格

对于新学者来说 css简直是最难记最麻烦的 布局真的好难 一直忘记今天写表格的时候table、thead、tbody,每个的宽度高度弄得我迷迷糊糊,不知道怎么弄,来梳理一下。对此我准备写下一篇博客来加深记忆!

2023-03-14 19:03:08 33

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除