自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端(JS到Vue)-面试前必刷题

知识储备宝典

2023-12-23 22:41:57 1067 2

原创 JavaScript 事件冒泡与捕获机制 --- 带动态图理解

JS的冒泡与捕获机制的理解 ,事件委托方法的实现

2023-12-13 00:17:55 1153

原创 base64文件前缀,(亲测有效,准确无误)

废话不多说,直接上代码。

2023-06-02 09:00:04 3894 2

原创 实现匹配搜索词高亮(Vue3)

文章言简意赅,为大家介绍了两种实现方法1.使用插件实现。2.自己实现

2023-04-21 10:41:34 1113

原创 JS数组/对象去重

文章核心:简单易懂,一目了然

2023-03-30 09:50:40 538

原创 nvm的简介、安装、使用(简单明了)

一、nvm是什么?⚪.nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看。。。等等,与npm不同的是,npm是依赖包的管理工具。二、nvm的安装。1.

2022-04-29 16:43:34 253831 51

转载 Vue脚手架配置项Progressive Web App(PWA)

简单介绍一下Progressive Web App(PWA)王玉略正在上传…重新上传取消2018年01月29日 10:55·阅读 48409关注前段时间在公司的内部分享会上简单地介绍了一些关于PWA的技术,不过当时用的是思维导图版本的,现在整理成博客分享给大家Progressive Web App(PWA)一、前期介绍1、为什么要将PWA作为本次的技术分享2017年11月份,谷歌在上海举办了一个开发者大会,期间在很多会场都有关于PWA的介绍,王二认为谷歌在致力于推...

2022-04-03 13:43:40 8305 2

原创 Vue引入子组件之后声明周期执行顺序

注意:在子组件发生变化时才能打印出从子—挂载后的声明周期

2022-03-31 17:46:32 284 2

原创 浅显易懂的JS继承

1.用原型链继承 (要注意的是:在引用数据类型中push进去一个东西会改变原数组) function parent(name, age) { //声明一个父函数,并在里面设置一些属性 this.name = name this.age = age this.hobby = ['足球', '篮球', '乒乓球'] } function son() {} //声明一个子函数 son.prototype = new parent(..

2022-03-31 14:12:03 711 2

原创 Vue/Node.js—时间处理器—silly-datetime

一、在Vue框架中使用1、安装插件—时间格式化插件npm i silly-datetime --save 2、Main.js文件引用import Time from "silly-datetime"; //时间格式化处理插件Vue.prototype.$Time = Time; //全局使用3、页面中使用this.$Time.format(new Date(), 'YYYY-MM-DD HH:mm:ss');二、在Node框架中使用1.安装插件npm i

2022-03-29 20:22:23 1599

原创 Vue框架—时间处理器—moment.js

简单明了,一看就会,不绕弯子,才是王道!!!1.安装npm install moment --savecnpm install moment --saveyarn add moment --save2.引入在页面中直接引入就可以了import moment from 'moment';moment.locale('zh-cn'); //这个是用来把区域设置为中国的这里还有一个小方法 :在main...

2022-03-29 19:44:47 597

原创 怎么获取浏览器地址栏的URL?怎么加密?

1、console.log(window.location.href); //获取浏览器地址栏的整个url 2、console.log(window.location.protocol); //获取浏览器地址栏url的协议部分:http 3、console.log(window.location.host); //获取浏览器地址栏url的端口部分:localhost:8080 4、console.log(window.location.pathname); //获取浏览器地...

2022-03-13 16:39:40 2986 1

原创 Vue-router实现路由跳转

(1).router-link1. 不带参数 <router-link :to="{name:'home'}"> <router-link :to="{path:'/home'}"> //name,path都行, 建议用name // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。 2.带参数 <router-link :to="{name:'home', params: {id:1}}

2022-03-10 20:53:41 1128

原创 浅谈优化首屏加载的方法

1.路由的懒加载。const routes = [{ path: '/', name: 'login', component: () => import ('../views/Login.vue'), meta: { isNext: false, } },]2.采用CDN线上链接加速。(在public文件中如同以下代码替换组件链接)。<link

2022-03-09 14:05:50 850 2

原创 Vue框架文件目录

进来直接看图

2022-03-07 14:44:06 452

原创 Vue中—foreach/map/filter

1.foreach—用来循环遍历数组,(会改变原数组,可以对每一个数据进行同一个操作没有返回值)不能循环数组包含对象。<script>export default { data() { return { Array: [1, 2, 3, 4, 5, 6], }; }, mounted() { let arr = []; this.Array.forEach((item, index, Array) => { //

2022-03-05 17:32:01 2828 1

原创 赋值、浅拷贝、深拷贝怎么实现?

1.使用递归的方式实现//使用递归的方式实现数组、对象的深拷贝function deepClone1(obj) { //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 var objClone = Array.isArray(obj) ? [] : {}; //进行深拷贝的不能为空,并且是对象或者是 if (obj && typeof obj === "object") { for (key in obj) {

2022-03-04 20:23:46 1015

原创 简介ES6、HTML5、CSS3新增特性。

1.let、cosnt的出现(1).相同点:let/cosnt是块级的作用域。不存在变量提升。不可重复声明 (2).不同点:let的值和类型都可以改变,const不可以2.变量的解构赋值 async mounted() { let { data: res } = await getMenuList(); // console.log(res); this.menuList = res.data; this.activePath = this.$..

2022-03-04 18:30:47 1124

原创 接口返回常见的状态码?

code:http状态码分类 以1开头的状态码: 提示信息---表示请求正在处理 以2开头的状态码: 成功---表示请求正常的处理完毕 以3开头的状态码: 重定向---表示再进一步处理才能完成请求 以4开头的状态码: 客户端错误---表示语法错误 以5开头的状态码: 服务器错误---表示服务器处理请求出现错误 http常见的状态码 200: 请求成功 400: 语法的错误 401: 当前请求需要用户验证 403: .

2022-03-04 10:44:20 438

原创 从输入URL浏览器到页面加载发生了什么?

(1). 浏览器的地址栏输入URL并按下回车;(2).浏览器查找当前URL是否存在缓存并判断是否过期;(3).DNS解析URL对应的IP;(4).根据IP创建TCP连接;(三次握手)(5).HTTP发送请求;(6).服务器处理请求,浏览器接收HTTP响应;(7).渲染页面,构造DOM树;(8).关闭TCP连接;(四次挥手)...

2022-03-02 17:43:01 614

原创 Vue动态绑定、添加input

这个过程用到了Vue+element-ui(1)首先给el-input加上v-for循环一个数据,并且v-model绑定这个数据中的属性,这样就可以在页面中展示所有的input框了,(2)动态绑定:先模拟一个传过来或者是请求到的数据,循环遍历这个数据,并把每个数据中的属性赋值给之前el-input循环的那个数据中的属性,这里推荐for-of循环。(3)动态添加:每点击一次就往el-input循环的那个数据中添加新的属性<template> <div class=".

2022-03-01 20:28:00 4886

原创 JS数据类型之5种判断方式?

1.JS的数据类型有哪些呢?(1).基本数据类型(又称类型值)如下7种:Number(数值)、String(字符串)、Boolean(布尔值)、Undefined(未定义)、Null(空)、Symbol(es6新增独一无二的值) 和 BigInt(es10新增);(2).引用数据类型:Object、Array、 function、Date、RegExp。...

2022-03-01 12:50:14 878

原创 async和await

二、async/awaitAsync 和await 是一种同步的写法,但还是异步的操作,两个内容还是必须同时去写才会生效不然的话也是不会好使1.asayc的用法,它作为一个关键字放到函数前面,这样普通函数就变为了异步函数2.异步async函数调用,跟普通函数的使用方式一样3.异步async函数返回一个promise对象4.async函数配合await关键字使用(阻塞代码往下执行)是异步方法,但是阻塞式的优点:1.方便级联调用:即调用依次发生的场景;2.同步代码编写方式:.

2022-02-23 22:47:08 363

原创 谈一谈对promise的理解

1.什么是promisepromise是异步编程的一种方案,解决了地狱回调的问题,是一种链式调动的方式Promise 简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。promise 是一个对象,从它可以获取异步操作的的最终状态(成功或失败)。Promise是一个构造函数,对外提供统一的 API,自己身上有all、reject、resolve等方法,原型上有then、catch等方法。2.名词约定promise(首字母小写)对象指的是“Promi

2022-02-23 22:38:14 4375

原创 用JS获取移动设备信息

获取设备信息少不了的一个JS脚本就是 : mobile-detect.js,如图第二个script链接就是mobile-detect.js的网上链接。它的官方链接我给大家放在这里了:mobile-detect.js官方地址https://www.mobile-detect.cn/ <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script> <script ..

2022-02-22 19:51:23 9244 5

原创 文章上榜,欢迎大家来学习

Vue+UpLoad实现上传、点图预览、删除图片_仰.-CSDN博客https://blog.csdn.net/QWERTYQ16/article/details/123020964?spm=1001.2014.3001.5502

2022-02-20 14:18:08 312 1

原创 Vue—echarts的基本使用

<template> <div class="datalist"> <!-- 数据报表容器 --> <div id="main" style="width: 750px; height: 400px"></div> </div></template><script>//引入echarts图表import * as echarts from "echarts";import {.

2022-02-19 18:22:31 408

原创 Vue+UpLoad实现上传、点图预览、删除图片

1、用vue+Element完成一个图片上传、点图预览、加删除功能,如图:2.首先我们再组件中引入这一段代码,每个属性的使用也都放在这里了:<el-upload class="upload-demo" action=""//引号里面填要上传的图片地址,用接口的话是公共的接口地址拼接一个图片的接口 :on-preview="handlePreview"//图片已经上传完成时点击触发(钩子函数) :on-remove="handleRemove"//点击右上角X号触发的钩子函

2022-02-19 18:01:46 8507

原创 Vue3+TS + vite 创建项目

一、首先给大家介绍一款极速搭建项目的构建工具(vite)vite 是一个由原生ESM驱动的Web开发构建工具,打开 vite 依赖的 package.json 可以发现在 devDependencies 开发依赖里面已经引入了TypeScript ,甚至还有 vuex , vue-router , less , sass 这些本地开发经常需要用到的工具。vite 轻量,开箱即用的特点,满足了大部分开发场景的需求,作为快速启动本地 Vue项目来说,这是一个非常完美的工具。npm init vite-

2022-02-18 17:12:49 1824

原创 Vue—修改数据不渲染Dom问题

一、添加属性的问题<template> <div> <p v-for="(value,key) in item" :key="key"> {{ value }} </p> <button @click="addProperty">动态添加新属性</button> </div></template><script>export default { data:()

2022-02-17 20:12:39 3033

原创 Vue中的$nextTick()

一、nextTick的理解?在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM,简单来说就是当数据更新时,在DOM中渲染完成后,执行回调函数。nextTick本质是一种优化策略二、$nextTick(callback) 使用原理: Vue是异步执行dom更新的,一旦观察到数据变化,Vue就会开启一个队列,然后把在同一个事件循环 (event loop) 当中观察到数据变化的 watcher 推送进这个队列。如果这个watcher被...

2022-02-17 19:24:49 704

原创 Vue——电商后台——项目优化

1.添加进度条 1.cnpm install --save nprogress //安装依赖 2.第二步在router/index.js导入进度条和进度条样式 如果想要在所有进入页面都显示进度条,就使用全局路由钩子, 如果是单个页面就使用, 路由独享守卫 3.//router.js中导入 import NProgress from 'nprogress' import 'nprogress/nprogress.css' 4.//通过路由守卫配置// 进入之前路由元信

2022-02-17 16:45:57 575

原创 Vue电商后台——富文本编辑器

1.首先我们来看效果图:2.然后就是怎么使用了。(1)、下载依赖:npm install vue-quill-editor --save (2)、在main.js中写入://导入富文本编辑器import VueQuillEditor from 'vue-quill-editor'// 导入富文本编辑器样式import 'quill/dist/quill.core.css'import 'quill/dist/quill.snow.css'import 'quill/d

2022-02-16 18:54:27 693

原创 Vue中的solt插槽

一、概念:插槽就是父组件往子组件中插入一些内容。二、插槽的种类:有三种方式,默认插槽,具名插槽,作用域插槽默认插槽就是把父组件中的数据,显示在子组件中,子组件通过一个slot插槽标签显示父组件中的数据单个slot (默认插槽 或 匿名插槽)就是没有名字的插槽,一个组件里面只允许存在一个匿名插槽。 <div class="fa"> <h1>父组件</h1> <child>

2022-02-16 17:05:15 1498

原创 Vue中v-for中的key

一、作用与原因key是给每一个vnode的唯一id,也是diff的一种优化策略,可以根据key,更准确, 更快的找到对应的vnode节点二、场景背后的逻辑场景1: 当我们在使用v-for时,需要给单元加上key如果不用key,Vue会采用就地复地原则:最小化element的移动,并且会尝试尽最大程度在同适当的地方对相同类型的element,做patch或者reuse。如果使用了key,Vue会根据keys的顺序记录element,曾经拥有了key的element如果不再出现的话,会被

2022-02-16 16:07:26 1310

原创 vue使用keep-alive缓存页面优化项目

一、概念keep-alive 是Vue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 transition 相似,keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中二、作用在组件切换过程中 把切换出去的组件保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性三、原理在 created钩子函数调用时将需要缓存的 VNode 节点保存在 this.cache 中/在 render(页面渲染) 时..

2022-02-16 15:50:06 558

原创 vue脚手架本地开发跨域请求设置

vue脚手架配置在根目录创建vue.config.js在module.exports中配置devserver的内容devServer: { host:'0.0.0.0', port: 8080,//端口号 open: true,//运行项目自启 proxy:{ '/api':{ target:'http://localhost:3000/',//跨域请求资源地址

2022-02-16 07:35:20 396

原创 vue路由与路由传参

一、Vue路由基础用法:1 .安装 npm install vue-router --save2 .main.js中//Vue路由:引入import VueRouter from 'vue-router'Vue.use(VueRouter)//Vue路由:引入并创建组件import BYHome from './components/BYHome.vue'import BYNews from './components/BYNews.vue'import HelloWorld fr

2022-02-14 21:30:29 478

原创 vue自定义过滤器

vue中的过滤器分为两种:局部过滤器和全局过滤器全局过滤器// global-filters是过滤器名称// 函数第一个参数是需要过滤的数据.// 函数第二个参数是给过滤器传递的值. Vue.filters('global-filter',(val,...args)=>{ console.log(`需要过滤的数据是:${val}`) return val + ' 过滤器追加的数据' })var app = new Vue({ el: '#ap..

2022-02-13 20:22:10 649

原创 Vue自定义指令

一、 什么是自定义指令除了核心功能默认内置的指令 (v-model和 v-show),Vue 也允许注册自定义指令,对普通 DOM元素进行底层操作,这时候就会用到自定义指令。二、 如何自定义指令 自定义指令分为全局自定义指令和局部自定义指令⭕1.首先我们来看全局自定义指令 :用Vue.directive来注册。比如一个input自动聚焦的例子:在main.js中写入以下内容:// 注册一个全局自定义指令 `v-focus`Vue.directive(...

2022-02-13 19:42:23 17402

空空如也

空空如也

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

TA关注的人

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