自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 antd 中 获取/设置Form组件的表单的值

antd 中 获取/设置Form组件

2022-08-04 17:43:53 3691 1

原创 节流的理解与实际应用

节流 稀释函数执行的次数,

2022-06-10 16:29:07 715

原创 防抖的理解与实际应用

防抖、

2022-06-10 15:10:52 1203 3

原创 react 中 如何解决使用useState时,因异步而导致的数据不同步的问题(使用 useRef 来解决)

react 中 如何解决使用useState时,因异步而导致的数据不同步的问题(使用 useRef 来解决)

2022-06-09 17:49:05 3578

原创 跨域问题为什么会产生,如何解决跨域问题(Vue)

一. 跨域问题产生的原因:前端请求地址和后端服务器地址不同如果二者: 域名,协议,端口号 有一个不相同,就会产生跨域问题注意:本质上还是浏览器的同源策略(域名,协议,端口号 三者完全相同)二. 解决方案前端用JSONP方式去发请求后端写代码(CORS)在响应中添加必要的响应头代理转发(前端操作)三. 代理转发实操在vue.config.js 文件中添加如下配置module.exports = { devServer: { // 代理转发 proxy:

2021-10-27 20:11:37 3948

原创 TCP 三次握手,四次挥手

TCP 三次握手客户端 -> (请求建立链接) -> 服务端客户端 <- (确认建立链接) <- 服务端客户端 -> (确认链接over) -> 服务端 就可以传输数据了TCP四次挥手客户端 -> (请求关闭链接) -> 服务端客户端 <- (确认关闭链接请求) <- 服务端客户端 <- (确认关闭链接) <- 服务端客户端 -> (确认关闭链接) -> 服务端 (如果服务器HTTP协议不支

2021-10-21 21:12:52 79

原创 token过期时,在响应拦截器中 的 两种处理方法

在登陆时,一般后台会传递两个参数: // 表示tokentoken: cndsivhfdv--vfd-vfd-sb-dsb-dsbfsfs // 表示token过期后,重调函数并传入这个参数,就可以获取新的token值,实现用户无感知登录refresh_token: ncdsjvnd-dsoiv-sfsnvfsjdnv 方法一:用户有感知,重新登录在响应拦截器中:当用户token过期,请求响应出现401状态码,在响应之前清除token,强制用户跳转到登录页面,尽

2021-10-21 20:20:44 2889 1

原创 state和mutations, 在根store和开启命名空间里的区别

2021-10-12 20:54:58 129

原创 vue实现 导航 高亮 显示---互斥

1. vue中代码准备<template> <div> <div class="nav"> <p v-for="(item, index) in navName" :key="index">{{ item }}</p> </div> </div></template><script>export default { data() { retur

2021-09-29 21:01:21 454

原创 侦听 ~~~ watch

当想要被监听的属性发生变化是,watch就会检测到一,浅侦听1. 1语法watch: { // newVal: 当前最新值 // oldVal: 上一刻值 这两个参数可以省略不写 "被侦听的属性名" (newVal, oldVal){ }}二,深度侦听2.1 语法watch: { "要侦听的属性名": { deep: true, // 深度侦听复杂类型内变化 handler (newVal,

2021-09-27 20:58:44 72

原创 全选框 影响小选框 v-model

一, 步骤小选框v-model, 关联数组里对象的c属性isAll计算属性的set方法, 拿到全选框状态状态值赋给, 数组里每个对象的c属性二,代码演示<script>export default { // 计算属性-isAll computed: { isAll: { set(val){ // 7. 全选框 - 选中状态(true/false) this.arr.forEach(obj => obj.c = v

2021-09-27 20:48:19 66

原创 vue计算属性computed完整写法

语法computed: { "属性名": { set(值){ }, get() { return "值" } }}注意:想要给计算属性赋值, 需要使用set方法 ,大多数 用来设置 v-model 的值 ,完成一键全选的功 能...

2021-09-27 20:42:14 771

原创 vue基础~~~ 动态添加style

1.语法:style="{css属性: 值}" // 动态style的key都是css属性名2.例子<template> <div> <!-- 动态style语法 :style="{css属性名: 值}" --> <p :style="{backgroundColor: colorStr}">动态style</p> </div>&l

2021-09-27 20:37:51 646

原创 vue基础~~~动态class

1.语法:class="{类名:布尔值}" 同时添加多个类名,在数组中使用逗号 , 隔开即可2. 例子<template> <div> <!-- 语法: :class="{类名: 布尔值}" 使用场景: vue变量控制标签是否应该有类名 --> <p :class="{red_str: bool}">动态class</p> </div></tem

2021-09-27 20:35:17 95

原创 Vue 常用指令集合

1. v-bind 动态属性语法: v-bind:属性名="vue变量"简写: :属性名="vue变量"例子:<a v-bind:href="url">我是a标签</a><img :src="imgSrc">2. v-on 事件绑定语法: v-on:事件名="methods中的函数" v-on:事件名="methods中的函数(实参)"简写:@事件名="methods中的函数"例子:<template> <

2021-09-24 16:54:41 218

原创 Vue 脚手架的搭建

1. 安装全局包yarn global add @vue/cli# OR // 二选一npm install -g @vue/cli全局安装后,会得到vue 命令2. 利用脚手架创建vue项目vue create 项目名 (不要包含中文)// 会得到一套标准文件夹+文件+webpack环境3. 项目启动yarn serve内置了webpack-dev-server, 得到一个地址和端口浏览器webpack打包后网页4. 相关知识点:4.1 项目入口 main.js

2021-09-24 16:05:40 70

原创 使用nodeJS写一个完整的接口

1.准备工作1.1 准备如下所示的文件1.2 在这个interface文件目录下cmd,进入小黑窗,依次执行 npm init --yes //初始化 npm i mysql express //下载mysql包 下载express框架1.3 创建一个tools文件夹,将sql.js工具拿过来。详情请参考 :连接数据库工具1.4 创建server.js文件2. 在server.js文件中编辑// 2.1 加载模块const express = re

2021-09-16 20:31:52 823

原创 通过使用nodejs和MySQL包连接数据库

前提: 在mysql数据库中存在下面要用的表和字段1.准备文件1.1 创建一个文件夹 名字注意规范(不要有中文,和一些特殊的单词)1.2 在文件夹中创建名为 server.js 文件1.3 在文件目录下cmd进入小黑窗口,进行初始化 npm init --yes //初始化 npm i mysql //下载mysql包2.在server.js文件中编辑代码如下// 1. 加载mysqlconst mysql = require('mysql');// 2. 创

2021-09-16 20:09:14 281

原创 使用express框架书写 POST 接口,三种文件数据接收

POST 接口 三种文件数据接收1.准备如下目录的文件将 express ,multer 提前从npm超市导入 (multer 文件上传会用到)index.html 内容如下: <button id="btn_keyvalue"> post-传递普通键值对</button> <hr /> <button id="btn_json"> post-传递json</button> <hr />

2021-09-14 21:12:44 1032

转载 常用的数组的方法(10)个

数组方法1. join 将数组转换为字符串let arr = [1,2,3]let str = arr.join //默认是逗号,也可以自定义连接符console.log(str) // 1,2,3 2. concat 数组拼接let arr = [1,2,3]let newArr = arr.concat(4,5,[6])console.log(newArr) //[1,2,3,4,5,6] 3. indexOf 返回数组中的某个值第一次出现的位置let arr

2021-09-14 20:51:02 275

原创 静态资源服务器

静态资源服务器1.准备工作创建如图所示的目录,并准备好相应的样式注意: server.js 与 public 文件夹是同级目录2.在server.js文件中编辑//加载核心模块const http = require('http')const path = require('path')const fs = require('fs')// 设置对象 方便请求头统一适配const obj = { '.html': 'text/html;charset=utf8', '

2021-09-13 20:23:30 118

原创 nodemon 的使用

1.安装(全局)npm i nodemon -g //全局安装1.1 检查是否安装成功,在任意目录下执行npm root -g 1.2 在里面找nodemon ,如果存在安装成功2.使用将原本执行js文件的node 改为使用nodemonnodemon 文件名.js窗口不关闭,在js文件中添加代码,不需要再次执行 node 文件名.js它会自己执行想退出这种模式,执行ctrl + c 输入 Y 即可...

2021-09-11 21:50:38 464

原创 使用 工具 i5ting_toc ,将.md文件转换为html文件

安装包 i5ting_toc1. 在安装node,并且联网的前提下在.md文件的文件目录执行 npm i i5ting_toc -g //全局安装2.安装成功后,在小黑窗口继续执行i5ting_toc -f index.md -o就会得到一个preview文件,其中的HTML文件就是转换好的...

2021-09-11 21:03:26 152

原创 创建一个工具包,放到免费的超市 (npm),再自己拉到本地使用

操作步骤一、上传文件到npm超市1. 在本地创建一个文件2. 创建一个index.js文件,里面放入你写好的用具代码3.在当前文件的目录执行cmd命令二、 在npm超市拉取文件,并使用1.在本地创建一个文件,文件名随意2.创建js文件,准备调用包里的方法一、上传文件到npm超市1. 在本地创建一个文件 注意:文件名不能再npm超市中存在,可以用npm view 包名# 这个命令用来查看 某个包的信息# 如果返回404,说明这个项目名在npm官网上找不到,此时你就可以使用。

2021-09-11 20:35:32 155

原创 常用命令集合

1. 终端常用命令cd 切换目录node xxx.js 执行js文件del 删除cls 清屏mkdir 创建文件夹rd 删除文件夹2.window 常用快捷键ctrl + shift + n 快速创建文件夹Alt+Tab 两个程序交换Shift+Del 直接删除文件Ctrl+W:关闭当前文档Ctrl + C 复制Ctrl + X 剪切Ctrl + V 粘贴Ctrl + Z 撤消3.常见的vscode的快捷键ctrl + b 切换资源管理器的状态alt

2021-09-11 19:30:45 62

原创 文件转换-----(类型,格式)

Node.js1. 终端常用命令cd 切换目录node xxx.js 执行js文件del 删除cls 清屏mkdir 创建文件夹rd 删除文件夹2.window 常用快捷键ctrl + shift + n 快速创建文件夹Alt+Tab 两个程序交换Shift+Del 直接删除文件Ctrl+W:关闭当前文档Ctrl + C 复制Ctrl + X 剪切Ctrl + V 粘贴Ctrl + Z 撤消3.常见的vscode的快捷键ctrl + b 切换资源管.

2021-09-10 21:26:31 265

空空如也

空空如也

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

TA关注的人

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