- 博客(26)
- 收藏
- 关注
原创 Vue3 vite:is a JavaScript file. Did you mean to enable the ‘allowJs‘ option?
vue3+vite 下运行npmp build。
2023-11-03 15:36:47
568
原创 JS删除上一条浏览器历史记录的方法(登录回退)
history不支持删除历史记录的方法,当从当前页面跳转到下一个页面的时候可以用。方法,用新的文档替换当前文档就相当于删除了当前页面的历史记录。
2023-09-14 13:11:58
3078
原创 一个域名实现跳转pc和移动端
从navigator.userAgent可以知道用户是以何种设备打开的页面,所以就可以封装一个函数来判断该终端是不是pc,从而选择要不要跳转。若用户是以移动终端打开的网站,实现自动跳转到移动端的网页。举个例子:如果是移动端打开就跳转到京东m站。
2023-09-12 17:16:18
562
原创 Pinia修改State的四种方式
缺点:不能直接修改原来的state,对state中的数组或对象不能增加或删除,只能创建新的对象进行赋值。在Pinia中有四种方式可以修改state,这四种各有利弊,可以根据使用场景决定使用哪种方式修改。优点:可以一次修改多个,可以修改原来的state,对state中的数组或对象可以使用方法修改。可通过$patch传函数参数修改, 可同时修改多个数据, 可对数组或对象使用添加/删除方法。缺点:不能一次修改多个,而且还需要引入storeToRefs,比第一种方法多了一点代码。优点:可以一次性修改多个。
2023-09-06 20:22:01
3018
原创 vue3+Vite打包项目后图片丢失的解决方法
解决办法,在页面通过import导入图片然后使用,这样就可以打包了。在页面中引用图片,打包后发现图片地址不对 提示找不到指定的目录。
2023-09-06 14:52:19
1515
原创 微信小程序之组件的四种传值方式
会覆盖掉原来该 key 对应的内容。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。这时因为传递的是对象类型的数据,到另一个页面获取时会发现是"[object,object]",解决方法是利用JSON.stringify()和JSON.parse()我们同时也可以利用 app.js 中的 globalData 将数据存储为全局变量,在需要使用的页面通过 getApp().globalData 获取。
2023-08-01 11:34:53
3206
原创 vue项目白屏的原因及优化
单页面应用的 html 是靠 js 生成,因为首屏需要加载很大的js文件(app.js 和vendor.js),所以当网速差的时候会产生一定程度的白屏。
2023-08-01 11:17:11
1821
1
原创 css3 transition的各种ease效果
ease-in-out 先慢,再快,再慢停止。ease 快启动,慢停止,物理原则。ease-out 先快,后慢。ease-in 先慢,后快。linear 平均速度。
2023-07-25 21:34:23
1056
原创 js实现数组扁平化的几种方式
先通过toString()把数组转成String对象,再结合split() 方法使用逗号分隔符将String对象分割成字符串数组,再用map函数将数组中的字符串转成数字。通过循环递归的方式,一项一项地去遍历数组,如果每一项还是一个数组,那么就继续往下遍历,实现方式。数组的扁平化就是将一个嵌套多层的数组转换为只有一层的数组,扁平化也是面试中常见的考题。
2023-07-19 11:42:09
229
原创 数组去重的几种方法
关于数组去重是在面试中经常遇到的问题,也是在日常开发中经常被使用的,这里我详细总结了7种数组去重的方式。例:将下面数组去除重复元素(以多种数据类型为例)
2023-07-19 11:29:01
3112
原创 vue3的逻辑复用
在项目开发中,有两个功能特别类似,如果单独实现,会有很多重复的代码在v3中,我们利用组合式api的特点,他们抽象出来,进行封装,把得到函数写在一个单独的模块中,导出,以供复用例如:在做xxx项目,有一个“关注”功能,他们调用的api接口是同一个,就是一个参数不同,但是我们有额外的loading功能也集成在里面针对这种情况,我封装了一个自定义的 hook函数,在函数的内部封装请求和loading值的修改,返回这个loading值和调用api函数代码如下:页面复用。
2023-07-14 21:41:41
297
1
原创 px,vw/vh,rem的区别
px:绝对单位,页面按精确像素展示em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算,整个页面内1em不是一个固定的值rem:相对单位,可理解为root em, 相对根节点html的字体大小来计算vh、vw:主要用于页面视口大小布局,在页面布局上更加方便简单。
2023-07-14 09:04:52
205
1
原创 历史最全vue2/3!!响应式原理
vue2 响应式原理Vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty()来劫持各个属性的 setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。主要分为以下几个步骤:需要 observe 的数据对象进行递归遍历,包括子属性对象的属性,都加上 setter 和 getter 这样的话,给这个对象的某个值赋值,就会触发 setter,那么就能监听到了数据变化。
2023-07-11 09:09:22
60
原创 用函数判断变量的数据类型
可以使用typeof运算符来判断变量的数据类型。以下是一个示例函数,它接受一个参数并返回该参数的数据类型。调用这个函数并传入不同的变量来获取它们的数据类型。
2023-07-10 17:15:50
113
1
原创 get请求与post请求区别
get参数直接暴露在url,不安全(一般查询类数据都是get)post参数在请求体中,更加安全(一般登录注册必须是post)get有大小限制,不同浏览器大小限制不同。get在url后面拼接(请求行)post在请求体传参。post没有大小限制。
2023-05-21 15:32:31
60
2
原创 HTTP协议原理与ajax工作原理
(2)响应头:content-type 返回的数据格式,jQuery自动转JSON就是根据他来判断的。(2)请求头:包含请求的附加信息, 由关键字/值对组成。3xx, 重定向, 表示要完成请求必须进行更进一步操作。(1)请求行 : 包含请求方法, URL, 协议版本。(1)响应行:包含协议版本, 状态码, 状态码描述。1xx, 指示信息, 表示请求已接收, 继续处理。(3)响应体:服务器响应给浏览器的数据 ((3)请求体:浏览器发送给服务器的数据(4.请求报文与响应报文的数据格式如下。
2023-05-20 19:47:11
65
2
原创 Vue 初始渲染流程 你理解了吗?
要点 面试中有大量的题型和它高度相关 $mount() render() updateComponent() 渲染 Watcher patch() 例子 聊一聊 Vue 中是如何渲染 DOM 的? new Vue() 的过程, 页面是如何挂载的? 这是一个很庞大的工程, 整个过程很繁杂, 大概分为: 虚拟 DOM / render 函数 / 渲染 Watcher / patch 函数 / diff 算法这些要点 我们
2023-05-20 19:34:46
196
2
原创 vue响应式的原理
响应式的原理分为大概五个阶段, 首先数据初始化会进行数据劫持, 挂载阶段会进行依赖收集, 修改数据会进入到更新阶段, 要通知。将虚拟 DOM 渲染成真实 DOM, 而渲染的过程一定会进行模板解析, 就会访问到数据。用了我这个数据, 这个收集的最小单位是组件, 而。进行依赖收集, 所谓的依赖收集就是记录一下哪些。只要数据发生变化, 就会触发数据的。只要访问到数据, 就会触发数据的。) 进行劫持, 原理用的就是。进行通知更新, 通知所有的。方法, 对所有的数据 (方法, 这个方法就是对。更新视图, 最后进行。
2023-05-20 18:35:31
41
1
原创 【今天你背面试题了嘛?】vue生命周期总共分为几个阶段 几个钩子函数?
在这一步,实例已完成以下的配置:数据观测 (data observer), 属性和方法的运算,watch/event 事件回调。该钩子在服务器端渲染期间不被调用,因为只有初次渲染会在服务端进行。el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。在挂载开始之前被调用:相关的 render 函数首次被调用。
2023-05-20 15:03:29
54
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人