自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 No matching distribution found for anyjson>=0.3.3

python3安装依赖时报错ERROR: Could not find a version that satisfies the requirement anyjson>=0.3.3 (from kombu) (from versions: 0.1, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.3, 0.3.1, 0.3.2, 0.3.3)ERROR: No matching distribution found for anyjson>=0.3.

2021-10-28 14:52:55 2727

原创 网页销毁时发送请求 - Beacon

一般页面卸载请求是在 unolad 方法里面,使用AJAX请求发送。但是,异步 AJAX 在unload事件里面不一定能成功,因为网页已经处于卸载中,浏览器可能发送,也可能不发送。为了解决网页卸载时,异步请求无法成功的问题,浏览器特别实现了一个 Beacon API,允许异步请求脱离当前主线程,放到浏览器进程里面发出,这样可以保证一定能发出。window.addEventListener('unload', function (event) { navigator.sendBeacon('url',

2021-07-28 16:47:13 358

原创 python 上传文件并保存

获取前端上传文件,生成唯一ID,保存本地引入uuidimport uuid从request对象里获取文件f = request.FILES.get('file')3.打开本地file目录,并写入 with open('files/' + uname + '.xls', 'wb+') as destination: for chunk in f.chunks(): destination.write(chunk)以下是完整代码def

2021-06-28 15:20:44 1743

原创 linux系统python md文件转pdf

linux md文件转pdf1.使用python依赖pypandoc,将md文本转成doc文件import pypandoc //引入pypandoc依赖""":param text: 数据源文本:param outputfile: 生成文件路径"""pypandoc.convert_text(text, 'docx', 'md', outputfile= outputPath + '.docx')2.使用LibreOffice软件,将doc文件转成pdf首先卸载当前系统的libre

2021-05-06 16:49:02 779

原创 jQuery基础梳理

jQuery简介​ 特性:HTML 元素选取HTML 元素操作CSS 操作HTML 事件函数JavaScript 特效和动画HTML DOM 遍历和修改AJAX引用方式:// 下载到当前项目中,使用script引用<script src="jquery.js"></script>// 使用cdn方式引用<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs

2021-04-27 09:18:28 135 1

原创 常用的css伪类选择器

什么是css伪类CSS伪类是用来添加一些选择器的特殊效果,是用于已有元素处于某种状态时为其添加对应的样式,这个状态是根据用户行为而动态变化的。例如:当用户悬停在指定元素时,可以通过:hover来描述这个元素的状态,虽然它和一般css相似,可以为已有元素添加样式,但是它只有处于DOM树无法描述的状态下才能为元素添加样式,所以称为伪类。在感觉上伪类可以是动态的,当用户和文档进行交互的时候一个元素可以获取或者失去一个伪类。例外的是":first-child"能通过文档树推断出来,":lang"在一些情况下也

2021-03-30 11:44:51 403

原创 前端开发规范

1. 项目结构规范1.1 项目结构的核心思想业务功能模块的相关代码都集中在一块,方便移动和删除实现关注点分离,方便开发、调试、维护、编写、查阅、理解代码1.2 项目目录 ├── vue.config.js/ # webpack 配置文件; ├── config/ # 与项目构建相关的常用的配置选项; │ ├── index.js

2021-02-28 16:57:42 224

原创 vue mixin混入

基础混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。// 定义重复使用的组件var myMixin = { created: function () { this.hello() }, methods: { hello: function () { console.log('my mixin!') } }}

2021-01-31 10:30:07 62

原创 解决使用printJS打印PDF时echarts图表无法打印的问题

一次项目中有前端打印PDF的需求,在网上找到printJS使用,发现canvas无法打印,就将其代码稍加改造,完美解决。使用方法:由于是VUE项目,直接注册到了全局页面内使用:在printjs文件内写死了容器ID为 details一下是完整printJS代码// 打印类属性、方法定义/* eslint-disable */const Print = function (dom, options) { if (!(this instanceof Print)) return ne

2020-12-28 17:11:21 1838 5

原创 前端基础html+css+js

web前端基础web前端简介web前端开发是从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HTML5、CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。学习web前端开发基础技术需要掌握:HTML、CSS、JavaScript语言。HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。

2020-11-26 09:39:43 949 1

原创 npm包发布流程

1、 npm注册。https://www.npmjs.com/login,注册完成需要验证邮箱才能发布包2、2、 在该目录下终端中输入 npm init初始化,会生成package.json,如果该项目中用到了其他依赖,需要在该目录中注册3、 登录npm4、 npm publish 发布5、 添加成功...

2020-10-26 15:02:36 240

原创 npm包本地离线安装

npm包本地离线安装在外网机器找到packjson.json文件目录,在该同级目录下运行窗口,执行npm install -g 或 cnpm install -g,生成缓存文件。(如果报错请用管理员身份执行)输入命令npm config get cache查看缓存目录位置。3.进入目录位置,拷贝npm-cache文件,复制该文件夹到内网项目内,与pacjage.json同目录4. 内网机器上执行:npm install --cache ./npm-cache --optional --cache

2020-09-30 14:55:41 3843

原创 ps导出的gif图片不能动,或是只能动一次的解决办法

1.点击窗口,选择时间轴,在下方会出现时间轴项。2.选择永久。(一次即代表只执行一次)3.选择文件 - 导出 - 存储为web所用格式4.格式选择GIF,循环选项选择永远,然后导出,就可以了。...

2020-08-27 14:45:27 11411

原创 vue事件修饰符

事件修饰符.stop:阻止事件冒泡,类似前端event.stopPropagation()<a v-on:click.stop="doThis"></a>.prevent:阻止页面默认事件,类似前端event.preventDefault()<form v-on:submit.prevent="onSubmit"></form>.capture:事件监听器,会影响冒泡顺序,程序会优先执行带有.capture修饰符的事件,然后继续执行冒泡<

2020-07-31 15:28:22 85

原创 vue组件的change回调如何在使用自定义传参的条件下保留默认传参

vue项目经常使用到input、select组件,组件再带的change等事件会提供默认传参,不覆盖默认传参的情况下要传入自定义参数有一下两种方法:<Cascader :disabled="data.key === 'root'" :options="sourceTableList" :props="treeprops" @change="方法名($event, '自定义参数')"></Cascader><Cascader :

2020-06-29 11:39:26 1265

原创 forEach无法改变基础数据类型的问题

最近在项目中使用到forEach去循环字符串数组,发现无法改变字符串的数据。var arr = ['11','22']arr.forEach((el) => { el = '333'})console.log(arr) ['11','22']发现上面的代码没有效果。就去各种查阅。其实在项目中用到forEach的时候也不少,但从没去深入了解过它的实现原理。经过多方查阅,发现其实还是栈与堆内存的问题,字符串是基础数据,存放在栈中,循环出来的el相当于在栈中新建了一个变量,与原来的数据已

2020-05-22 18:58:11 652 1

原创 项目中实现在线预览office文件

最近项目中需要前端页面预览office文件,word、excel、ppt,现有如下几种解决办法,包括前端后端1.使用微软提供的office在线预览,提供下载,打印pdf等功能,无法自定义。使用方法http://view.officeapps.live.com/op/view.aspx?src=$url(url为文件所在地址URL,需要部署在线上,可以访问的URL,IRL路径必须通过URL编码)...

2020-04-26 18:06:25 3476

原创 pip安装时setuptools报错解决

ERROR: Command errored out with exit status 1: command: 'd:\git_honops\preparations\venv\scripts\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Lenovo\\AppDat...

2020-04-26 17:23:39 4139

原创 react生命周期

React组件的生命周期分为三个阶段:1.组件初始化 Mounting2.组件运行时 Updating3.组件卸载时 Unmounting组件初始化1.constructor()constructor()中完成了React数据的初始化,它该构造方法接受一个props参数,必须在方法中首先调用super(props)才能保证props被传入组件中。注意:只要使用了constructo...

2020-02-29 21:03:51 395

原创 react-route-dom

介绍使用React构建应用时,需要使用路由实现页面跳转。在React中,常用react-router-dom包实现路由跳转。本文主要针对react-router-dom进行说明安装首先进入项目目录,使用npm安装react-router-dom: npm install react-router -S引用import React, { Component } from "react";...

2020-01-28 18:32:22 169

原创 Vuex

本文简单讲解Vuex的核心概念,个人理解,仅供参考。首先Vuex 是什么?Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。简单理解就是,可以存储项目中用到的公共的变量、方法等,可以在其他模块很方便的调用。更改(并且触发更新相关联的 DOM)。核心概念state状态树,包含了所有的...

2019-12-04 18:18:22 102

原创 栈与堆,深拷贝与浅拷贝

栈与堆的定义栈 stack为自动分配的内存空间,它由系统自动释放;堆 heap则是动态分配的内存,大小不定也不会自动释放。js数据类型基本类型 undefined、null、string、number(注意:NaN)、boolean、symbol(ES6)引用类型 Object(包括Array和Function)基本数据类型存放在栈里,=:直接传值引用数据类型存放在堆里,=:传址...

2019-10-31 16:02:24 599

原创 vue $set 动态刷新视图

开发过程中,我们有时会遇到这样一种情况:当组件data里边声明或者已经赋值过的对象或者数组,向对象中添加。或删除属性时,视图是不会动态刷新的。官方说法是:如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。例子:封装过后的表单组件,名称为必填选项,可是填写过名称内容后,还是没有通过验证,这是因为属性在赋值的时候表单组件并没有动态刷新,所以导致验证时数据还是为空。Vue 不允许在已经...

2019-09-29 18:02:54 556

原创 多个echarts根据窗口大小动态刷新

在vue项目中用到了echarts组件,需要根据窗口大小重新渲染。刚开始使用了onresize的方式监听浏览器大小的变化,然后通过 myChart.resize() 方法重新渲染,发现只有最后一个图表执行了resize最后用 addEventListener 方式绑定的 resize 方式是正常的 on和addEventListener 的区别一般情况下,on和addEv...

2019-08-14 10:44:24 1905

原创 vue组件之间相互传值和方法调用

一 父组件向子组件传值子组件定义需要的参数、类型,父组件通过绑定属性传入子组件,子组件用props接收父组件调用子组件接收二 子组件向父组件传值子组件向父组件传值,通过vue函数 $emit 发送回父组件。父组件可以通过属性绑定的方式接收。子组件传值父组件通过sync修饰符,可以同步接收到子组件参数三 父组件调用子组件方法尽管存在 prop 和事件,有的时候你仍可能需要在...

2019-07-30 10:43:33 634

原创 Flex布局

Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。块元素 .box{display: flex;}行元素 .box{display: inline-flex;}Webkit内核的浏览器,必须加上-webkit前缀。.box{display: -webkit-flex; /* Safari */display: flex;}设为Fle...

2019-03-13 09:48:54 55

原创 vue页面跳转以及参数获取

vue2.0在使用的过程中, .vue文件之间的跳转,在template中的常见写法是:&amp;lt;router-link to=&quot;/miniCard/statement/horizon&quot;&amp;gt; &amp;lt;button class=&quot;btn btn-default colorDe&quot;&amp;gt;继续&amp;lt;/button&amp;gt; &amp;l

2019-01-07 10:19:10 15661

原创 vue项目构建

1.使用vue构建项目1.1 直接引用,使用script标签1.2 使用cdn https://cdn.bootcss.com/vue/2.2.2/vue.min.js https://unpkg.com/vue/dist/vue.js,1.3 npm方法,安装node(node官网),cnpm(npm install -g cnpm --registry=http://regi...

2018-12-16 18:19:43 156

空空如也

空空如也

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

TA关注的人

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