自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue-element-admin动态生成侧边栏以及添加路由

需求:后端根据登录的用户不同,返回具体的路由表,前端根据后端返回的数据动态生成侧边栏以及实现跳转。(与该框架返回角色且根据角色生成路由不同)1、首先登陆,登陆成功之后拿token获取后端接口,把得到的数据放在localStorage里面sysHome() { this.$api.xxxxx() .then(function(res) { localStorage.setItem('router', JSON.stringify(res.data))// 返回的数据存在loca

2021-03-14 19:44:09 3050

原创 new的过程

https://blog.csdn.net/weixin_43276913/article/details/105597983javascript中在new一个对象时发生了什么?1.创建一个新对象2.将新对象的__proto__指向构造函数原型,也就是将新对象链接到原型链上3.将构造函数中的this指向新对象4.构造函数中若有返回值,就直接返回;否则返回新对象(以构造器的prototype属性为原型,创建新对象;• 将this(也就是上一句中的新对象)和调用参数传给构造器,执行;

2021-03-09 21:04:58 191

原创 垂直居中

1、行内元素:line-height: 100px2、行内元素 行内元素:vertical-align:middle; display:inline-block;3、flex display:flex justify-content:center// 水平 align-item:center// 垂直4、table-celldisplay:table-cellvertical-align: middle // 垂直text-align:center // 水平5、floato

2021-03-09 20:55:50 168

原创 组件懒加载格式

1、vue异步组件实现路由懒加载component:resolve=>([‘需要加载的路由的地址’,resolve])2、es提出的import(推荐使用这种方式)const HelloWorld = ()=>import(‘需要加载的模块地址’)

2021-03-08 20:33:48 143

转载 react项目启动报错:Uncaught TypeError: Cannot read property ‘forEach‘ of undefined

https://blog.csdn.net/feinifi/article/details/112448350如题,react项目启动报错,具体信息,如下所示:这个问题是因为浏览器安装了react-devtools扩展程序导致的,很多人的解决办法就是直接禁用react-devtools,我觉着也还行吧,但是就是感觉不是很好,我们安装这个玩意不就是为了方便查看react元素与编译之后的代码的么?这种办法似乎有点壮士断腕,我直接不用你了。我个人根据报错堆栈信息,找到node_modules/@pmmmw

2021-02-19 16:21:01 592

原创 chrome安装react-devtools开发工具

1.首先打开官网:https://github.com/facebook/react-devtools2.本地打开git bash 然后复制上面的github下载链接在git中输入:git clone https://github.com/facebook/react-devtools.git3.克隆完成以后cd react-devtools //切换到工程目录4.git checkout v3 //要从源代码构建v3浏览器扩展5.npm i //安装依赖6.cd shells/chr

2021-02-18 10:21:01 926

原创 css写三角形问题

.square{ width:0; height:0; // 高宽为0 margin:0 auto; border:6px solid transparent; //边框透明 border-top: 6px solid red; // 上边框为红色 } 此时一个倒立的三角形就出来了对于一个缺角白色覆盖黑色会形成一个缺角<div class="box b1"></div> <div class

2021-02-05 15:27:09 106

原创 路由里面的参数是字符串类型

http://xxxxx/Information?params1=d21ce71420ac11ea81f900163e0c1d31&params2=false路由里面的参数是字符串类型此处的params2的值false是字符串“false”

2021-01-27 14:38:22 198

原创 ES6扩展对象的功能性

1、新增方法Object.is()方法,判断全等,弥补’===‘的不准确运算,这个方法接受两个参数,只有两个参数类型和值都相同时,会返回trueconsoel.log(Object.is(+0, -0)) // falseconsoel.log(Object.is(NAN, NAN)) // trueconsoel.log(+0 === -0) // trueconsoel.log(NAN === NAN) // false除了这两个特殊的之外,值与’===‘ 相同2、新增Object.ass

2020-12-05 15:05:25 107

原创 ES6中函数个别说明

1、默认参数ES5的时候,若调用make(5),没有给参数b赋值,系统会给一个默认值undefined,下面代码如果传入b为0或者其他假值,则b取2000,如果时make(5,0),那么传进去的0不能作为b的值,那么传进去毫无意义。function make(a,b) { b = b || 2000}ES6中,不传b值的话,b值就取2000,只有当不为第二个参数传入值或不为第二个参数传入undefined时才会使用b的默认值2000function make(a,b = 2000) { }

2020-12-04 11:59:01 82

原创 setTimeout立即执行,没有延迟效果问题的原因

https://blog.csdn.net/u014805893/article/details/77072832setTimeout的第一个参数必须是需要编译的代码或者是一个函数方法,而如果直接传入一行可执行代码,那么抱歉,这里会立即执行,没有延迟效果。setTimeout(setTab('one',2,5),500);//传入的是可执行代码,会立刻执行setTimeout(function(){setTab('one',2,5);},500);// 传入的是待编译代码,会延迟执行...

2020-12-04 11:46:09 899

原创 es6的let,const,var的知识

1、JS引擎在扫描代码代码发现变量声明时,要么把他们提升到作用域顶部(遇到var声明);要么把他们放到TDZ(临时死区)中(遇到let const声明),访问TDZ里面的变量会触发运行时错误,只有执行变量声明语句后,变量才会从TDZ中移出,然后才能正常访问。if(1) { console.log(typeof value) // 引用错误 let value = 'bli" }console.log(typeof value) // 'undefined' 此时value不在TDZ中

2020-12-03 15:46:39 87

原创 折叠与展开功能

1、对获取到的数据,例如listfor(let i = 0; i< res.data.length; i++) this.$set(res.data, 'ifShowZK', true) this.$set(res.data, 'ifShow', false)}this.list= res.data// 为每一个数据加上这两个属性2、html代码里面使用//上面一层有v-for=(item,index)in list<span class="content" :class="

2020-11-26 15:26:24 212

原创 弹框里使用message消息通知不起效解决办法

Message( { message:'成功', type:'success', customClass:'mzindex' }); <style> // 一定要写在这里面,不可以带上scoped .mzindex{ z-index:9999 !important; // 9999是只要比你的弹框大就行,一般弹框是2000多 }</style> ...

2020-11-20 15:50:56 1500

原创 vue-preview 缩略图

1、下载npm install vue-preview2、 main.js中引入import VuePreview from 'vue-preview'Vue.use(VuePreview)3、组件中使用<vue-preview :slides="List"></vue-preview>List: [ {msrc:'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'

2020-11-05 15:57:31 196

原创 vue组件传递事件,并带值

https://www.cnblogs.com/guoxianglei/p/7205961.html父组件<SearchBar ref="search" @toChild="toChild"/>components: { SearchBar }toChild(value) { this.$refs.search.$emit('changeListActive', value)}, //别处调用该方法 比如在其他方法里调用该方法this.toChild('dsd')子组件dat

2020-11-04 18:00:34 499

原创 Vue回到顶部功能

1、 this.$el.scrollTop = 0;

2020-11-02 10:22:33 486

原创 数组concat等问题

1、数组1与数组2进行concat,若其中一个数组为null,则结果为null

2020-10-30 14:52:23 195

原创 Vue实现PC端@功能

https://segmentfault.com/a/1190000005797788思路:1、当想要@某人时,获取@所在的位置。让@用户选项框设为可见,并把选项框放到@的位置。2、选择选项框里的某个人,并把选中的内容填入到输入框内容里面3、提交数据给后台时,提取@的某人的信息给后台。操作1、先上html代码<div class="dialog-input"> <el-input v-focus type="textarea" id="inputText" content

2020-10-10 19:16:50 3479

原创 docker部署nginx

默认安装了Docker @vue/cli 已有一个vue项目已有dist文件夹1、在vue根目录下运行代码docker pull nginx2、项目根目录下创建nginx.conf.templateserver { listen 80; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / {

2020-10-10 14:27:39 222

转载 图片居中显示,不失真,充满容器

<div class="img-box"><img src="src" /></div><style>img-box { width:50px;//容器宽度,就是你希望图片展示对大尺寸,一定要设置 height: 50px;//容器高度,就是你希望图片展示对大尺寸,一定要设置 img { width: 100%; height: 100%; object-fit: cover }}...

2020-09-08 10:44:14 282

原创 defer async区别

defer: 开启新线程下载js,文档解析后立即执行async: 异步下载,下载完毕后立即执行

2020-09-08 10:07:50 69

原创 Vue自定义聚焦指令v-focus

1、在src目录里面建立utils文件夹2、在utils文件里面建立directives.js文件,里面内容如下export default (Vue)=>{ Vue.directive('focus', { // 当被绑定的元素插入到 DOM 中时…… inserted: function (el) { // console.log(el) 在这里打印出el看看传过来的el到底是什么,以下代码就是为了判断是不是绑定到了我想绑定的元

2020-08-21 17:47:42 3358

原创 Vue无限滚动

1、安装插件npm install vue-infinite-scroll --save2、引入插件,在main.js中引入import infiniteScroll from 'vue-infinite-scroll'Vue.use(infiniteScroll)3、使用插件 <div v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="10"> &

2020-08-21 10:06:41 735

转载 form表单中,按Enter键,会导致表单提交

问题描述当输入结束时,按enter键,页面刷新,不希望刷新问题分析:当form表单中,只有一个输入框时,按Enter键,会导致表单提交,会刷新页面解决方案:网上提供了在form上添加@submit.native.prevent发现容易出现不可预测问题最终找到:在input元素上添加阻止默认表单提交事件onkeypress="if(event.keyCode == 13) return false;"https://blog.csdn.net/tjj3027/article/details

2020-08-11 14:57:26 244

转载 表格里面创建二维码

https://www.cnblogs.com/renzm0318/p/11551323.html1、安装npm install @xkeshi/vue-qrcode2 、在单页面引入import VueQrcode from '@xkeshi/vue-qrcode'components: { qrcode: VueQrcode },3、在代码里面写<el-table-column label="二维码" align="center"> <templa

2020-07-17 15:48:58 281

转载 During handling of the above exception, another exception occurred:错误

https://blog.csdn.net/qq_44838702/article/details/1050498331、执行pip时报错:During handling of the above exception, another exception occurred:这段代码在报错的一堆信息里面,类似于下图这是由于频繁访问网站或请求造成的,可以通过更换国内源的方法来解决此问题。示例如下:pip install XXX -i http://pypi.douban.com/simple --

2020-07-14 14:27:43 17635

原创 理解Vue响应式原理以及this.$set

https://www.jb51.net/article/162232.htmhttps://baijiahao.baidu.com/s?id=1667581867911645201&wfr=spider&for=pchttps://cn.vuejs.org/v2/guide/reactivity.html前言:其实使用vue的都知道,vue声明在data中的属性都是响应式的,也就是,我们在修改data中的属性时,一般页面都能实时更新。但是由于 JavaScript 的限制,Vue 不

2020-07-13 20:53:21 1040

转载 vue中外部图片无法显示问题

https://www.jianshu.com/p/56df73d0d128?utm_source=oschina-app解决方法在HTML代码的head中添加一句原因http请求中的referrerhttp请求体的header中有一个referrer字段,用来表示发起http请求的源地址信息,这个referrer信息是可以省略但是不可修改的,就是说你只能设置是否带上这个referrer信息,不能定制referrer里面的值。服务器端在拿到这个referrer值后就可以进行相关的处理,比如图片资

2020-07-09 13:22:28 1024

原创 vue封装请求

1、首先建立axiosconfig文件夹 建axiosconfig.js文件import Vue from 'vue'import axios from 'axios'import qs from 'qs'import { Message, Loading } from 'element-ui'import fa from 'element-ui/src/locale/lang/fa'// 响应时间axios.defaults.timeout = 5 * 1000// 配置cookie/

2020-07-01 17:54:45 257

原创 改elementui日期选择器宽度

/* 日期选择框的宽度 */.el-date-editor.el-input, .el-date-editor.el-input__inner { width: 220px;}

2020-07-01 17:12:55 10374

原创 vue 发出请求时带token

目前我用的接口都是前期不需要token。所以我先把token写死1、首先安装axiosnpm install axios2 、在main.js中引入axiosimport axios from 'axios'Vue.prototype.axios = axios3、在main,js中引入token//加上token// 在请求头中加tokenaxios.interceptors.request.use( config => { // 判断是否存在token,如果存在的话

2020-06-13 16:23:47 5575 6

原创 elementui分页组件配合后端接口的使用

分页分为前端分页和后端分页,前端分页是先获取所有数据前端再来分页。性能不好后端分页就是把数据传给后端,后端返回当前页相应的数据后端分页:在表格</el-table>后面加上分页代码,如果是其他的比如列表分页,我估计也是要放在</>外面<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage

2020-06-13 16:14:14 2299

原创 调试show-overflow-tooltip

更改show-overflow-tooltip样式 .el-tooltip__popper{max-width:20%;} .el-tooltip__popper,.el-tooltip__popper.is-dark{background:#f5f5f5 !important; color: #303133 !important;}如果不起作用,就把style里面scoped去掉

2020-06-10 14:34:21 996

原创 表格里面放图片

<el-table-column label="封面图片" > <template slot-scope="scope" > <el-popover placement="right" title="" trigger="hover"> <img :src="scope.row.firstImg" /> <img slot="reference" :src="scope.row.fir

2020-06-10 09:57:41 192

原创 webpack第一遍学习

webpack是一个现代JS应用程序的静态模块打包器。当webpack处理应用程序时,它会递归构建一个依赖关系图,其中包括应用程序需要的每个模块,然后它将所有这些模块打包为一个或者多个bundle四个核心概念入口entry输出outputloader插件plugins1、入口入口会指示webpack应该使用哪个模块,来作为构建其内部依赖图的开始。进入入口后,webpack会找出有哪些模块和库是入口起点(直接或者间接)依赖的。const config = { entry: "./src

2020-06-09 10:21:43 123

原创 elementui导出表格

1、Element组件库中的el-table表格导出需要的主要是两个依赖:(xlsx 和 file-saver)安装npm install --save xlsx file-saver2、 给表格添加一个id,导出文件事件需要使用<el-table :data="tableData" border style="width: 100%" id="out-table"//这一步很重要 ><butto

2020-06-05 17:50:16 2792

原创 CSS变量

1、声明变量的时候,变量名前面要加两根连词线(–)。body { --foo: #7F583F; --bar: #F7EFD2;}2、var()用于读取变量a { color: var(--foo); color: var(--foo, #7F583F);//变量不存在就是用后面那个默认值 text-decoration-color: var(--bar);}3、变量值是一个字符串,可以与其他字符串拼接。--bar: 'hello';--foo: var(--bar)

2020-06-04 10:13:42 126

原创 获取北京时间

之前面试被问到过怎么获取北京时间。我咋知道怎么获取?哼<SCRIPT LANGUAGE = "JavaScript">var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");xmlhttp.open("GET", "http://bjtime.cn", false);xmlhttp.setRequestHeader("If-Modified-Since", "bjtime");xmlhttp.send();var dateStr =

2020-06-01 11:34:56 277

原创 vue生命周期

beforecreated:这时就是初始化实例,目前啥也没有created:这时是准备数据,方法。但实例还没有挂载,此时$el不可用beforemounted:给el准备模板显示render,再是template再是outhtml,对象在dom中已经形成了形状mounted:dom已经准备就绪,并且放在了页面上,可以获取dom了beforeupdate:改变的数据在dom树上了,但是还没渲...

2020-05-07 17:43:57 104

空空如也

空空如也

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

TA关注的人

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