自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jsqiang

一个在前端路上进行奋斗的小菜鸟

  • 博客(19)
  • 收藏
  • 关注

原创 vuex的使用

vuex所谓的vuex就是对于vue中的数据状态做集中管理,通过vuex可以实现多组件之间的数据通讯和数据共享。属性state数据管理,在state中可以定义我们共享的数据new Vuex.Store({state:{name:"测试name"})gettersgetters是对state中的数据进行计算,常常被解析成组件中的computed 其用发和computed类似new Vuex.store({state:{name:"测试数据"},getters:{getName

2021-12-18 20:51:27 249

原创 vue3中使用vuex4

vue3 中使用vuexvuex中没有对于store中的数据进行类型定义 因此vuex中使用ts的话需要我们扩展vue的模块定义vuex的store的类型 .d.ts类型的文件就是描述性文件 在vuex中用于描述暴露出的store的类型因为vue3 中的单文件组件setup其中没有this的概念因此想使用全局定义好的$store 则需要通过getCurrentInstance()函数获取到vue实例对象 我们还可以通过useStore()去获取格式化好的store,一般建议使用userStore

2021-12-18 19:31:52 478

原创 typescript学习

接口接口只定义类型规则不进行功能实现,对于接口中定义的属性类型不受顺序的限制。eg:interface labelValue{ name:string sex?:string//可选属性, readonly age:number //只读属性}function printLabel(obj:labelValue){ console.log(obj)}printLabel({name:"test"})const和readonly的使用const 用于声明变量,

2021-12-15 17:03:05 344

原创 编写简易loader和plugin

编写简易的loader所谓的loader就是将匹配的内容通过一定逻辑的自主加工后将加工过后的文件返回的函数称为loader,也可以说是对于文件进行不同形式的转码的函数loader-util插件通过getOptions()方法获取loader option的值 针对于webpack是4.0 的可以安装loader-utils v2版 webpack5 已经移除了getOptions()函数eg:const loaderUtils = require('loader-utils')module.e

2021-12-10 11:29:35 396

原创 vue初始化和响应式原理

源码的运行过程D:\codeTest\originCode\vue\src\core\index.js初始化全局的apivue\src\core\instance\index.jsvue的构造函数的路径(进行初始化注入,状态注入,事件注入,生命周期注入,渲染注入)vue\src\core\instance\init.jsvue_init初始化//初始化生命周期,$refs $parent $children update更新函数 程序的执行的是自上而下,组件的渲染是自下而上initLifec

2021-12-07 17:31:13 534

原创 vue异步更新过程

vue异步更新实现过程 dep.notify()=>update()=> queueWatcher()=>nextTick()=>timerFunc(fn)=>flushCallbacks()=>flushSchedulerQueue()=>watcher.run()=>cb|render() 1.数据发生变化时,触发收集器调用watcher的notify()方法。notify()方法执行对于dep(单个属性)的update()方法进行更新 2.每

2021-12-07 17:28:30 565

原创 基于elementui的主题色改变和全网站色彩切换

主题色切换什么是主题色切换,所谓的主题色切换就是我们通过自定义的方式去修改elementUI原有的主题色,以达到我们业务所要使用的多(单)色彩切换.静态切换elementui 采用的是scss进行实现的样式 我们的项目也使用的是scss 因此我们在项目中创建一个element-variables.scss文件存放我们修改的主题色/* 改变主题色变量 */$--color-primary: 自定义的主题色;/* 改变 icon 字体路径变量,必需 */$--font-path: '~elem

2021-12-05 11:13:00 1794

原创 node搭建自定义cli

自定义cli 搭建本文介绍简单的nodecli的搭建,可以通过简单的cli我们去延伸多功能,深度的自定义cli的搭建,搭建的同时我们还可以去掌握node一些常见的插件和api,这篇文章主要介绍 自动化路由的搭建(简单的路由)。搭建cli1.下载需要用到的npm包npm i chalk clear commander download-git-reop figlet handlebars open ora watch util -D插件的解释:chalk 用于控制台的颜色clear 清空控制

2021-11-28 22:31:47 883

原创 node文件上传下载,前端文件上传下载

node中的文件上传与下载目前项目中常见的文件上传和下载的方式采用的是formData和文件流下载,本文也介绍通过node进行文件的上传和下载处理.文件流的下载文件上传1.文件流上传//获取上传文件 const file = ctx.request.files.file;// 读取文件流const fileReader = fs.createReadStream(file.path);const filePath ='./public/upload';// 组装成绝对路径const f

2021-11-25 17:07:03 701

原创 vue中函数组件

函数组件vue中存在两种组件,一种是我们经常写的template组件,一种的函数组件,对于template组件大家都不陌生,在日常的项目中多使用的是template组件 ,对于函数组件用的少(我用到的少)1、什么是函数组件函数组件就是运用js的函数方式渲染出来的组件,通过创建虚拟dom,接收父组件的值,其自身没有数据,生命周期的组件,同时在其内部也不存在this的js文件2、vue中的函数组件究竟如何实现的export default{functional:true//生命为函数式组件prop

2021-11-09 22:49:28 3309

原创 前端进行并发请求

最近在项目中遇到了多批量处理的需求,想着对于批量处理这种情况一般都是后端的小伙伴进行处理,前端提供一个需求批量处理的list即可,但是后端的小伙伴不支持,因此想到了前端可以通过axios.all或者promise进行实现axios的方式axios静态的all方法和sprend可以实现并发请求,all方法中的参数是个数组 数组的没一项则代表的是一个请求,通过then的方式可以获取到所有成功的返回值数组 get function test001(){ return axios({ m

2021-08-01 15:37:06 3138

原创 javascript中的浅拷贝和深拷贝

在日常的业务过程中我们常常会遇到对象的复制,在js中对象的复制有浅拷贝和深拷贝的方式进行赋值1.浅拷贝(1)等号赋值的方式(2) 通过Object.assgin(目标对象,源对象)当对象只有一层的时候实现的是对象的深拷贝(3)数组的slice()和concat()(4) …展开运算符2 深拷贝(1)JSON项目中常见的深拷贝就是运用JSON对象进行 JSON.parse(JSON.stringify(原对象))进行拷贝 这种深拷贝不能实现属性为function的拷贝 对于日常开发过程中不

2021-05-22 12:04:11 68

原创 html5中的语义化的学习

语义化编程的好处:方便阅读使得,html结构更加清晰,同时在没有css的支持下仍然可以显示出该有的样式。方便一下读屏软件对于网页的读取有利于seo方便修改和维护常见的语义化便签有 header 定义网页的头部 footer 定义网页的尾部nav定义网页中的标题菜单,aside定义侧边栏 main定义网页内容的主体区,sectiion定义文档中的章节 可以理解为particle定义文档的片段 里面可以包含文档的标题内容等信息...

2021-05-17 16:44:24 79

原创 目前阶段的前端路径

一份属于目前阶段的前端路径图、对于上图有补充的小伙伴可以留言附一份前端自测的大佬的前端路径转https://juejin.cn/post/6844904103504527374

2021-05-17 16:15:43 69

原创 mockjs

mockjsmockjs解决后端请求没有完成时 前端的数据编写和请求拦截mockjs安装vue项目中通过npm i mockjs -D 安装 通过import 引入mockjs\import Mock from 'mockjs'数据编写规则属性值 规则 属性值所组成'name|1:string 表示的是name属性重复的次数为1次 规则可以省略规则有7种目前我常用的有一下几种‘name|min-max’:value 属性值 随机的在min-max中重复的次数‘name|co

2021-05-05 19:03:30 124

原创 vue中的动态路由传参

vue中的动态路由传参对于常见的路由动态传参 有两种方式一种为 query的导航传参方式 通过 path和query的结合 ,参数一般可以在地址栏中看到 在组件中通过 $route.query进行参数的获取,另一种方式就是 组件name和params的方式进行传参,参数在地址栏中以/参数值/参数值的形式出现的,在组件中通过$route.params的方式进行数据的获取的 这两种方式都可以实现动态路由的参数传递,但是存在较高的耦合性 比如我们通过params方式传递参数只能在特定的页面通过 $rou

2021-04-18 18:57:35 1379

原创 github加速

github加速器国内的小伙伴在访问github的时候一般会很慢,有时候会还会出现加载不出来的问题有一款软件可以很好的解决这一问题。dev-sidecar 它不止会进行github的加速还会进行dns的优选连接地址:https://gitee.com/docmirror/dev-sidecar非常的好用...

2021-04-04 18:45:58 115

原创 大数相加

大数相加add(a,b){ let maxLength=Math.Max(a.length,b.length); let sum='',//大数相加的和 let f=0,//相加后进的位数 let t=0,//对应位数的和 包含进的位数 for(let i= maxLength-1;i>=0;i--){ //计算对应位数的和 t=parseInt(a[i])+parseInt(b[i])+f; //计算对应位 进的值 f=Math.floor(t

2021-04-01 13:12:13 63

原创 vuex

Vuex学习vuex基础vue的五大特性vue组件中使用vuexmodules的使用总结总结:vuex基础vuex是一种vue的状态管理,我们可以将公用的数据放置在vuex中实现数据在多组件之间的共享,常用来作为数据的共享存储,以及组件之间的数据通信。vue的五大特性state (数据存储)共享的数据都在state中定义getters (计算属性)可以通过计算属性的形式去改变state中的数据,定义的函数 默认参数为state对象mutations(同步方法)定义同步的方法 定的方法中

2021-03-27 21:36:53 115 2

空空如也

空空如也

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

TA关注的人

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