自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue出错集

vue3,vue 的报错

2022-06-10 10:50:50 105 1

原创 js的一些技巧写法

JS 双问号语法在双问号的左边如果是null,undefined时,就返回右边的值,如果没有就返回左边的值。const foo = null ?? 'my school';// 输出: "my school"const baz = 0 ?? 42;// 输出: 02.使用解构来交换两个数let a = 5;let b = 8;[a,b] = [b,a][a,b]// 输出(2) [8, 5]...

2022-02-16 09:39:58 219

原创 GitHub 初始化账号密码及公钥配置

https://blog.csdn.net/u013278314/article/details/81586645

2021-12-27 10:28:18 1374

原创 fatal: remote origin already exists.

在当我们输入git remote add origin https://gitee.com/(github/码云账号)/(github/码云项目名).git就会报如下的错fatal: remote origin already exists.翻译过来就是:致命:远程来源已经存在此时,我们可以先 git remote -v 查看远程库信息:可以看到,本地库已经关联了origin的远程库,并且,该远程库指向GitHub。解决办法如下:先输入$ git remote rm origin(删除关联的

2021-12-27 10:25:17 215 1

原创 前端sso单点登录

sso.vue 文件<template> <div></div></template><script>import util from '../../utils/util.js';export default { computed: { code () { return this.$route.query.code; }, }, methods: { setRole (roles) { const isLe

2021-12-07 11:15:31 749

原创 arcgis for js vue组件挂载之升级

1.解决弹窗中有异步请求,得到数据后显示弹窗2.解决地图弹窗自动弹窗禁止后,不影响其他简单的地图弹窗自动打开(点击落点就打开内部设置好的templatePopup模板内容)3.兼容设置多个类型的弹窗封装的popup.jsexport function setPopup(that) { const { mapView } = window viewOnClickEventLoad(mapView, that, ({ event, graphic, type }) => { cle

2021-12-06 16:08:34 615

原创 arcgis 使用sketch绘制图形,图形范围内实现落点

draw.js 文件import GraphicsLayer from '@arcgis/core/layers/GraphicsLayer'import Sketch from '@arcgis/core/widgets/Sketch'const commonSymbol = { type: 'simple-fill', color: [0, 119, 237, 0.15], outline: { // autocasts as new SimpleLineSymbol() .

2021-11-23 17:56:01 1799

原创 arcgis 地图上添加圆形

import MapView from "@arcgis/core/views/MapView"; import Circle from "@arcgis/core/geometry/Circle"; import Graphic from "@arcgis/core/Graphic"; //创建地图视图 let mapView= new MapView({ map: myMap, // References a Map instance containe...

2021-11-23 10:31:42 2778

原创 拖拽选择距离

使用拖拽插件啊 draggabilly<template> <div class="timeline-container overflow-hidden relative" ref="timelineContainer"> <div class="relative"> <div class="absolute slider left-0 top-0 z-20" ref="slider"> <div class=

2021-11-09 14:15:43 115

原创 全局组件的挂载和卸载

live-play.jsimport Vue from 'vue'import LivePlayDialog from '@/components/live-play-dialog.vue' //挂载的组件const PopupBox = Vue.extend(LivePlayDialog) // extend 注册全局let instanceLivePlayDialog.install = function (data) { console.log(data, 222222) in.

2021-11-08 17:12:15 464

原创 arcgis for js Popup弹窗挂载vue组件

1.解决问题点击图层里的要素时弹出popup,并在内容中content挂载业务组件,子组件中正常使用vue的生命周期与钩子函数。2.实现方法2.1.子组件Popup.vue(这里只做简单的示例,可根据自己的业务需求设计组件)<template> <div> {{obj}} </div></template><script> export default { components: {}, props

2021-11-08 17:00:13 874

原创 防抖(debounce) 和 节流(throttling)

防抖和节流:事件频繁被触发时,单位时间内只执行一次防抖(debounce):事件被触发时,设定一个周期延期执行,若周期间又被触发,则周期重新设定,直到周期结束执行操作。应用频繁点击提交延迟debounce,示意图:前缘debounce, 示意图节流:固定周期内,只执行一次动作,若有新事件触发,不执行。周期结束后,又有事件触发,开始新的周期。延迟throttling示意图:前缘throttling 示意图:如果事件触发是高频但是有停顿时,可以选择debounce; 在事件连续不断高频触发

2021-09-16 11:35:12 187

原创 vue骨架屏实现

https://segmentfault.com/a/1190000014832185

2021-09-14 10:58:26 132

原创 vue打包文件太大导致加载时间太久,开启gzip减少文件体积

第一步:安装依赖:npm i compression-webpack-plugin -D第二步:在vue.config.js中配置:const CompressionWebpackPlugin = require('compression-webpack-plugin')const isProduction = process.env.NODE_ENV === 'production'module.exports = { publicPath: './', assetsDir: 'st

2021-09-14 10:27:32 508

原创 token过期自动跳转登录页面

1.在响应拦截器中,判断code为401,2.再弹出对话框,3.点确定做退出操作删除token及相关登录信息4.然后跳转登录页面。注意:此时会出现多个对话框,所以添加一个状态变量,如果第一次点击确定把状态变为true,在判断的401的同时判断状态值是否为false,这样就避免出现多个对话框let isRefreshing = falseservice.interceptors.response.use(response => { const code = res.data.code

2021-09-13 14:45:32 313

原创 前端导出pdf文件

this.$get(url, {}, { responseType: 'blob' }).then(res => { //创建隐藏的可下载链接 const blob = new Blob([res]); const link = document.createElement('a'); const evt = document.createEvent('HTMLEvents'); evt.initEvent('click',

2021-09-13 11:29:58 129

原创 解决 Uncaught (in promise) Error: Navigation cancelled from “/...“ to “/...“ with a new navigation.

报错如下:解决方法:在路由器router里面的index.js里面加上下面这段代码就没事了const originalPush = Router.prototype.pushconst originalReplace = Router.prototype.replaceRouter.prototype.push = function push(location, onResolve, onReject) { if (onResolve || onReject) { return o

2021-09-13 11:14:37 3075

原创 JSON.stringify()

JSON.stringify()的九大特性1.对于 undefined、任意的函数以及 symbol 三个特殊的值分别作为对象属性的值、数组元素、单独的值时的不同返回结果。undefined、任意的函数以及 symbol 作为对象属性值时 JSON.stringify() 跳过(忽略)对它们进行序列化undefined、任意的函数以及 symbol 作为数组元素值时,JSON.stringify() 将会将它们序列化为 nullundefined、任意的函数以及 symbol 被 JSON.stri

2021-04-01 09:54:10 1451

原创 css单行省略多行省略

一行省略overflow:hidden;text-overflow:ellipsis;//文本溢出显示省略号white-space:nowrap;//文本不会换行多行省略display: -webkit-box;-webkit-line-clamp: 2;overflow: hidden;/* autoprefixer: off /-webkit-box-orient: vertical;/ autoprefixer: on */...

2021-03-24 09:27:41 80

原创 防止message弹窗多次出现

this.$message.warn({content:‘该词已添加’,key:‘tips’,duration:2})

2021-03-16 15:59:09 420

原创 css变量

css变量 -----------css自定义变量,用–表示自定义1.可以在data中定义{styleVar:{’–color’:“red”}},vue2:绑定到元素标签的 :style中(:style=“styleVar”),选择器使用 color:var(–color);vue3:绑定到vue组件内<style vars="{styleVar['--color']}">的vars中,选择器使用 color:var(–color)2.也可以在样式中直接定义.parent { /*

2021-03-16 15:55:42 143

原创 父组件props传递数据给子组件报错

父组件传递props异步数据到子组件的问题?子组件的插值表达式中显示异步数据的某个属性值报错created获取props的数据报错解决办法:父组件调用子组件中加判断v-if在子组件中用watch监听数据,获取值在methods中定义方法在watch中调用用bus,$emit, on,在父组件中异步获取数据时on, 在父组件中异步获取数据时on,在父组件中异步获取数据时emit传递数据,在子组件中 $on接收父组件传递的数据进行相应的显示。(parent.vue和child.vue必须公用一

2020-11-24 10:31:33 194

原创 flex弹性布局的一些属性

注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效1.容器的属性flex-directionflex-wrapflex-flow:flex-direction flex-wrapjustify-contentaligns-items: 特殊值 baseline | stretchalign-content: 特殊值 stretch2.项目的属性order:0 数值越小,排列越靠前flex-grow:0 项目的放大比例flex-sh

2020-09-09 09:41:41 127

原创 elementui中table和unpload的坑

elementui项目中的坑上传文件限制大小或个数2.table表头自定义3.query传参数,在页面刷新的时候可能会将query中参数的类型发生转换(如number转string)上传文件限制大小或个数限制的原理是先上传(before-upload)后删除,如果上传限制的同时还用到before-remove的话,用户就可以阻碍删除限制的文件,当用户点了取消删除按钮,限制的文件则还是上传了。这样限制就中return false或true就失效了。解决:在data或computed中添加一个字段flag

2020-07-02 15:42:31 610

原创 前端要了解的http

http概念:基于tcp/ip的超文本传输协议(请求和响应模式,无状态,应用层的传输数据格式的协议)http包括两个消息结构1. 客户端请求消息:请求报文:1.请求行(请求方法、 url 、协议版本)2.请求头3.空格4.请求体(post的参数)请求头(常用的有4个):1.Accept:传输数据格式2.Authorization 客户端给服务端提供进行权限认证的信息(一...

2020-04-09 23:06:57 119

原创 git命令详解

git介绍:git是最先进的分布式版本控制系统。是一个完成的版本库,可以在本地查看提交日志,提交,创建分支合并分支,回退等所有操作主要的几个命令git pull # 从远程更新代码git status # 查看当前仓库的状态git add . # 将工作区的修改提交到暂存区git commit -m ‘本次提交描述’ # 将暂存区的修改提交到当前分支git push # 将本地代码更...

2020-04-08 18:54:47 80

原创 vue性能优化之函数式组件

函数式组件1.特点没有this(没有实例)没有响应式数据它只是一个接受一些 prop 的函数。Vue.component('my-component', { functional: true, // Props 是可选的 props: { // ... }, // 为了弥补缺少的实例 // 提供第二个参数作为上下文 render: function...

2020-04-08 14:56:47 1016

原创 微信小程序通过非登录(获取用户信息和code)的方式获取token

这里写自定义目录标题1.token获取方式有两种:1.token获取方式有两种:用户登录成功后后台返回token,一般会把返回的token缓存起来通过用户授权获取用户的相关信息和code等参数,后台提供接口将这些参数传进去,就可以返回token接下来要说的就是第二种方式获取token,一般在微信支付 创建订单的时候需要用到token在...

2020-04-04 00:34:11 2502

原创 路由懒加载在开发环境下更新代码很长时间的解决方案

使用babel 的 plugins babel-plugin-dynamic-import-node。它只做一件事就是将所有的import()转化为require(),这样就可以用这个插件将所有异步组件都用同步的方式引入,并结合 BABEL_ENV 这个babel环境变量,让它只作用于开发环境下,在开发环境中将所有import()转化为require(),这种方案解决了之前重复打包的问题,同时对代...

2020-04-02 17:14:35 476

原创 项目中遇到的问题

1.props传值想作为局部变量来使用,直接使用会报错避免直接修改父组件传入的值,因为会改变父组件的值props:['listShop'], data(){ return{} }, created(){ this.listShop=30}解决方案1:可以在data中重新定义一个变量简单类型数据可以直接赋值,复杂数据就需要深度克隆了(JS...

2020-03-27 21:22:17 162

原创 js类型转换

js类型转换1.类型转换三种,转为boolean,string,number转Boolean在条件判断时,除了 undefined, null, false, NaN, ‘’, 0, -0,其他所有值都转为 true,包括所有对象转数字除数字字符串为数字,空数组为0,一个数字元素的数组转数字,null转为0,false转为0,true转为1,其他都为NaN2.四则运算符1 + ‘1’...

2020-03-01 17:00:05 87

转载 简述TCP的三次握手

TCP握手协议在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k...

2019-11-03 16:30:25 934

原创 深拷贝的实现和浅拷贝

拷贝数据:基本数据类型:拷贝后会生成一份新的数据,修改拷贝后的数据不会影响原来的数据数组/对象:拷贝后会不会生成新数据,而是拷贝引用,修改拷贝后的数据会影响原来的数据拷贝数据的方法:1.赋值给变量 //浅拷贝2.Array.propotype.concat() //浅拷贝3.Array.proppotype.slice() //浅拷贝4.Object.assi...

2019-10-27 16:18:42 148

原创 简单写出es6常用的语法

1.let关键字 1.不存在变量提升 2.有块级作用域 3.不能被重复声明 4.没有添加到window,没有预解析,预处理2.const关键字 1.let有的属性特点const都有 2.const变量之不能改变,(特别提示:数组和对象是存的地址,数组和对象的地址不能改变但是里面的值可以改变,所以不能重新赋值一个数组或对象)3.解构赋值1.对象的解构赋值(按属性名解...

2019-10-26 19:39:52 105

原创 Array经常使用的方法

Array.prototype.indexOf(value) : 得到值在数组中的第一个下标Array.prototype.lastIndexOf(value) : 得到值在数组中的最后一个下标Array.prototype.forEach(function(item, index){}) : 遍历数组Array.prototype.map(function(item, index){})...

2019-10-24 22:15:43 152

原创 利用requier.context()自动构建路由

router文件的index.jsimport Vue from 'vue';import VueRouter from 'vue-router';// import About from './about.routes.js';// import Home from './home.routes.js';Vue.use(VueRouter)const routesList=[]...

2019-10-23 10:09:09 107

原创 利用requier.context()在vue中注册全局组件

// 1.在components文件中新建global.js文件import Vue from 'vue';function changA(str) { return str.charAt(0).toUpperCase() + str.slice(1)}const requireComponent = require.context('.', false, /\.vue$/)co...

2019-10-22 20:22:35 299

原创 vue中使用better-scroll遇到的问题

安装及引入npm i better-scrollimport BScroll from 'better-scroll'初始化// <div class="wrapper">// <ul class="content">// <li>...</li>// <li>...</li>// ...

2019-10-22 17:33:09 766

原创 [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available

使用vue-cli3初始化运行项目的时候会出现这样的问题:[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the c...

2019-10-21 10:00:24 421

原创 vue中axios请求解决跨域问题

vue的脚手架2和3中解决跨域在src文件里建立api文件夹里有两个文件ajax.jsindex.jsajax.js// 是对axios请求做了一个封装import axios from 'axios';export default function ajax(url, data={},method='GET'){return new Promise((resolve, rej...

2019-10-19 21:49:00 231 1

空空如也

空空如也

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

TA关注的人

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