自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue3+vite项⽬搭建-配置环境变量env

1、env 文件说明.env --- 全局默认配置文件,在所有的环境中被载入,当你指定了环境,它也会合并,并且优先级大于.env,没有指定环境时先找它.env.development --- 指定开发环境的配置文件.env.production --- 指定生产环境的配置文件,当 build 运行会触发此文件2、根目录下新建文件其中写环境变量和其它变量,必须要以VITE_开头 (...

2022-10-09 14:40:00 1872

原创 Vue.use原理及源码解读

vue.use(plugin, arguments) 语法  》参数:plugin(Function | Object)  》用法:    如果vue安装的组件类型必须为Function或者是Object;    如果是个对象,必须提供install方法;    如果是一个函数,会被直接当作install函数执行;    install函数接受参数,默认第一个参数为Vue,其后参数为...

2021-11-24 09:21:00 214

原创 for in 和for of的区别

for..of适用遍历数/数组对象/字符串/map/set等拥有迭代器对象的集合.但是不能遍历对象,因为没有迭代器对象.与forEach()不同的是,它可以正确响应break、continue和return语句for in通常用来遍历对象{},遍历对象的键名for in 可以遍历到myObject的原型方法method,如果不想遍历原型方法和属性的话,可以在循环内部判断一下,hasOwnP...

2021-09-27 09:54:00 173

原创 JS常用库收集汇总

用于汇总记录一些看着 ok 的 JS 库。库名简介项目地址macy.js仅 4 kb的 原生 流布局插件http://macyjs.com/Driver.js仅 4 kb的 原生 页面分步引导Tippy.js玩转鼠标悬停提示信息tesseract.jsOCRjs库https://www.npmjs.com/package/tesserac...

2021-09-24 11:40:00 77

原创 vue项目中的.env环境变量配置文件

开始之前,先说下为什么要设置和读取环境变量简而言之就是,通过环境变量传参,能让我们在不修改任务代码的情况下执行不同的逻辑。比如在开发环境、测试环境、生产环境的api地址、文件地址等不同,通过环境变量的不同设置不同的api地址、文件地址关于.env 文件内容:  NODE_ENV 代表是环境 有development (开发环境)、production(生产环境)  VUE_APP_F...

2021-09-16 16:32:00 190

原创 8个非常实用的Vue自定义指令

原博地址https://www.cnblogs.com/lzq035/p/14183553.html在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也允许注册自定义指令。它的作用价值在于当开发人员在某些场景下需要对普通 DOM 元素进行操作。Vue自定义指令有全局注册和局部注册两种方式。先来看看注册全局指令的方式,通过Vue.directive...

2021-07-29 15:43:00 36

原创 vuex 的模块中如何调用 actions 中的方法

vuex 的模块中如何调用 actions 中的方法模块vuexTest.js/** * 模块vuexTest.js */export default { namespaced: true, actions: { actionsHello(context, val) { console.log(context, "conte...

2021-07-08 11:48:00 1560

原创 vuex 的模块中如何调用 mutations 中的方法

vuex 的模块中如何调用 mutations 中的方法   模块vuexTest.js/** * 模块 vuexTest.js */ export default { namespaced: true, state: { stateHello: 1, }, mutations: { mutationsHello(sta...

2021-07-07 15:06:00 273

原创 vuex 中辅助函数mapGetters的基本用法详解

mapGetters辅助函数mapGetters辅助函数仅仅是将 store 中的 getter 映射到局部计算属性:1、在组件或界面中不使用mapGetter调用映射vuex中的getter  1.1 调用映射根部store中的getter<!-- test.vue --><template> <div class="vuexReponse"...

2021-07-07 14:44:00 186

原创 vuex 中辅助函数mapState的基本用法详解

mapState辅助函数  当一个组件需要获取多个状态的时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用mapState辅助函数帮助我们生成计算属性,让你少按几次键:// store.js/** vuex的核心管理对象模块:store */import Vue from 'vue';import Vuex from 'vuex';im...

2021-07-06 17:11:00 977

原创 import * as obj from 'xxx' 的用法说明

在被引入的文件xxx中存在多个 export 导出文件时,使用import * as obj from 'xxx' 会将"xxx"中所有export导出的内容包裹到obj对象导出;// helloWorld.jsexport function hello(){ return '我是hello 内容';}export function world(){ return...

2021-07-05 17:07:00 64

原创 从不用 try-catch 实现的 async/await 语法说错误处理

前不久看到 Dima Grossman 写的 How to write async await without try-catch blocks in Javascript。看到标题的时候,我感到非常好奇。我知道虽然在异步程序中可以不使用 try-catch 配合 async/await 来处理错误,但是处理方式并不能与 async/await 配合得很好,所以很想知道到底有什么办法会比 tr...

2021-05-25 16:23:00 208

原创 async/await的基础用法

一、async/await的优点1)方便级联调用:即调用依次发生的场景;2)同步代码编写方式: Promise使用then函数进行链式调用,一直点点点,是一种从左向右的横向写法;async/await从上到下,顺序执行,就像写同步代码一样,更符合代码编写习惯;3)多个参数传递: Promise的then函数只能传递一个参数,虽然可以通过包装成对象来传递多个参数,但是会导致传递冗余信息,频繁...

2021-05-25 16:17:00 83

原创 Element-Ui表单移除校验clearValidate和resetFields的区别

1、介绍2、resetFields()与clearValidate()的区别  相同点:二者都能移除表单校验  不同点:resetFields()会对整个表单进行重置,将所有的字段重置为初始值      clearValidate() 只会移除表单校验,而且可以只对部分字段进行移除校验3、resetFields()与clearValidate()的使用场景  resetFields...

2021-04-19 11:50:00 342

原创 JavaScript中数据类型转换(显式类型转换)

概述JavaScript 是一种弱类型动态类型语言,变量没有类型限制,可以随时赋予任意值。var x = y ? 1 : 'a';上面代码中,变量x到底是数值还是字符串,取决于另一个变量y的值。y为true时,x是一个数值;y为false时,x是一个字符串。这意味着,x的类型没法在编译阶段就知道,必须等到运行时才能知道。虽然变量的数据类型是不确定的,但是各种运算符对数据类型是有要...

2021-03-02 17:58:00 56

原创 ESlint在vue项目中的配置

https://blog.csdn.net/weixin_38606332/article/details/80864381https://blog.csdn.net/weixin_33721344/article/details/88685833?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLe...

2021-02-22 09:46:00 52

原创 函数防抖、函数节流

1、事件频繁触发可能造成的问题?  (1)、一些浏览器事件: window.onresize、window.onmousemove等,触发的频率非常高,会造成浏览器性能问题。  (2)、如果向后台发送请求,频繁触发,对服务器造成不必要的压力;例如百度搜索时输入字符,每改变一下输入框字符时就去请求一下,如果不处理就会产生不必要的多余请求,给服务器产生压力。2、如何限制事件处理函数的频繁调用...

2021-01-31 16:23:00 31

原创 localstorage sessionstorage和cookie的区别

基本概念cookie:是网景公司的前雇员在1993年发明。它的主要用于保存登陆信息,比如登陆某个网站市场可以看到'记住密码’,这就是通过在cookie中存入一段辨别用户身份的数据来实现的。sessionStorage:会话,是可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但是页面关闭后,sessionStorage中的数据就会被清空。localStorage:是HTML5标准...

2021-01-23 16:26:00 108

原创 element中表格中的表头与表格内容边框错位的解决方法

在APP.vue中的style标签内加上.el-table { th.gutter { display: table-cell !important; }}

2021-01-20 11:03:00 79

原创 vue项目上如何做ie浏览器的限制的提示。

vue项目在ie上的限制提示分为两种情况:1、在ie9版本以下的版本情况:  由于ie9以下的ie版本无法识别一下es6方法,所以在vue中的js无法执行,打开网站会直接白屏,没有任何显示。  sdfds所以代码校验浏览器的代码不能在vue中运行,可以在index.html中运行校验浏览器版本的代码<!DOCTYPE html><html lang="en...

2021-01-08 17:22:00 1725

原创 架构使用vuex结合vue-meta实现router动态设置meta标签

可以通过引入vue-meta模块,通过路由守卫监听获取到路由中meta的定义的值,再将获取到的值赋值到vuex中module模块中的state,再将模块中的值通过vue-meta模块中的metaInfo方法修改meta标签参考:https://www.imooc.com/article/2880451、安装npm install vue-meta -Snpm install ...

2020-12-14 21:28:00 1276

原创 Vue中强制组件重新渲染的正确方法

有时候,依赖vue响应方式来更新数据是不够的,相反,我们需要手动重新渲染组件来更新数据。或者,我们可能只想抛开当前的DOM,重新开始。那么,如何让vue以正确的方式重新呈现组件呢?强制 Vue 重新渲染组件的最佳方法是在组件上设置:key。 当我们需要重新渲染组件时,只需更key的值,Vue 就会重新渲染组件。这是一个非常简单的解决方案。当然,你可能会对其他方式会更感兴趣:...

2020-12-10 12:03:00 7603 1

原创 vue-cli3打包去掉console.log

通过npm包 terser-webpack-plugin 来实现第一步:安装npm install terser-webpack-plugin --save-dev第二步:配置 (vue.config.js)module.export = { configureWebpack: (config)=>{ if(process.env.NODE_ENV ==...

2020-12-09 20:55:00 1397

原创 Vue点击当前路由实现刷新功能

测试提了一个bug,就是当前页面点击所在的侧边栏,页面没有刷新<div v-for="item in navAsideList" :key="item.index"> <el-submenu v-if="item.child&&item.child.length&&item.power" :ind...

2020-11-23 10:52:00 1166 1

原创 element ui使用v-for循环form表单校验的实现

<template> <el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="120px" class="demo-dynamic"> <el-row v-for="(domain, index) in dynamicValidateForm.pe...

2020-11-12 17:43:00 6045 3

原创 VsCode插件,自动生成注释koroFileHeader

最近正在使用vscode进行编程,为了更便利的对项目实施管理,同时利于后期维护,为一个版块添加注释是非常有必要的。实践出真知,以下是对于插件koroFileHeader的简单使用说明。打开vscode,选择Extensions搜索koroFileheader进行安装在vue文件中,使用快捷键ctrl + Alt + i/t,可以看到当前默认设置内容根据需要修改默认设置1....

2020-09-16 14:27:00 4177 3

原创 vue样式穿透 ::v-deep的具体使用

vue样式穿透 ::v-deep的具体使用更新时间:2020年06月04日 11:32:59 转载作者:柳慕笙 这篇文章主要介绍了vue样式穿透 ::v-deep的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧之前在项目中用到了 vant,使用特别简单,而且组建也非常的丰富。即时这样,...

2020-08-24 19:14:00 7370 1

原创 vue项目中如何在外部js中例如utils.js直接调用vue实例及vue上挂在的方法

一般我们都是在main.js中引入vue,然后在vue文件中直接使用this(this指向的是vue实例),但是在实际开发中,我们往往会引入外部的js文件使用this,这个this就会指向window,并不是我们期待的vue实例,那么就需要重新引入vue文件(import Vue from 'vue'),这样很麻烦。在目前项目中我使用的方法是mian.js导出vue实例,然后在需要使用的...

2020-08-10 15:58:00 2980

原创 vue单页应用在页面刷新时保留状态数据的方法

在Vue单页应用中,如果在某一个具体路由的具体页面下点击刷新,那么刷新后,页面的状态信息可能就会丢失掉。这时候应该怎么处理呢?如果你也有这个疑惑,这篇文章或许能够帮助到你一、问题现在产品上有个需求:单页应用走到某个具体的页面,然后点击刷新后,刷新的页面要与刷新前的页面要保持一致。这时候就需要我们保存刷新之前页面的状态。二、一种解决方案在这个Vue单页应用中,王二是用Vuex作...

2020-08-02 17:16:00 1034

原创 Vue watch 监听复杂对象变化,oldvalue 和 newValue 一致的解决办法。

watch的常规用法:watch:{ tempData: function (value, oldValue) { console.log(value, oldValue) }}但是如果需要监听的数据是对象、内嵌多层的对象后,需要用到watch中的deep属性。类似于下面这种对象内嵌的对象:data(){ return { dat...

2020-07-23 15:30:00 5631 2

原创 vue项目的登录跳转代码

router.beforeEach((to, from, next) => { if (to.matched.length === 0) { next('/error404') } else { if (!sessionStorage.getItem('sid')&&to.path!="/login") { next('/login') } ...

2020-07-22 18:30:00 572

原创 element的el-table表格自定义表头,slot="header"内,数据不更新的问题

<template> <div class="bidsInfo"> <el-table ref="singleTable" :data="noticeData" highlight-current-row style="width: 100%;margin-top:40px;"> <el-table-column typ...

2020-07-21 16:21:00 4176 3

原创 element框架的teble表格的数据展示由横向转向竖向

<template> <div class="m50"> <el-table border style="margin-top: 50px;" :data="originData"> <el-table-column label="题型" property="type" align="cente...

2020-07-16 17:26:00 7063

原创 Vue+Axios:使用拦截器来取消多次重复的请求

-----写在前面-----家园的面试项目接近尾声了,剩下一个大模块(响应式布局)和两个小功能(下拉到一定程度获取新的信息、持续监听返回数据,当有更新时在页面上方提示)听起来下拉到某个位置获取新信息是不难,但今天就遇到了两个问题:1. 下拉过程中会不断发起url相同的请求,可能会有被拉黑的风险,并且影响实际性能。最重要的,在then()方法中会将返回数据稍做处理后添加进组件...

2020-06-17 14:31:00 2655 1

原创 理解 JavaScript 的 async/await

https://segmentfault.com/a/1190000007535316

2020-06-08 12:47:00 90

原创 Generator 快速理解

  你理解的 Generator 是什么?    Generator 算是 ES6 中难理解的概念之⼀了,Generator 最⼤的 特点就是可以控制函数的执⾏。在这⼀⼩节中我们不会去讲什么是 Generator,⽽是把重点放在 Generator 的⼀些容易困惑的地 ⽅。  直接调用一个generator和调用函数不一样,foo(5)仅仅是创建了一个generator对象,还没有去...

2020-05-07 11:51:00 425

原创 重写函数内置方法

看别人有这样的对象内部有这样的函数写法[](){};后来了解到这是重写某些内置方法let a = { valueOf () { return 1 }, toString () { return '2' }, [Symbol.toPrimitive] (hint) { console.log(hint) // number retu...

2020-05-07 10:27:00 179

原创 随机字符串的生成

function randomString (len = 32){ const _item = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; let str = ""; for(let i=0;i<len;i++){ str += _item.charAt...

2020-05-06 15:31:00 162

原创 Object.definedProperty()中的getter与setter个人理解

谈Object.definedProperty()中的getter与setter个人理解就先介绍一下Object.definedProperty()  Object.definedProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。在vue2.x中用来实现数据双向绑定  语法:Object.defineProperty(obj, p...

2020-05-06 11:37:00 1188

原创 .sync 修饰符

  在有些情况下,我们可能需要对一个 prop 进行“双向绑定”。不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以变更父组件,且在父组件和子组件都没有明显的变更来源。  这也是为什么我们推荐以update:myPropName的模式触发事件取而代之。举个例子,在一个包含titleprop 的假设的组件中,我们可以用以下方法表达对其赋新值的意图this.$emit(...

2020-05-06 11:08:00 186

空空如也

空空如也

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

TA关注的人

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