
vue成长之路
夜丶陌颜
快来看看我的博客吧!!!希望你有所收获
展开
-
vue3.0 + tsx 构建el-button
分析:主要是bem 系统的构建,属性添加并无难点。原创 2022-09-27 10:18:21 · 976 阅读 · 0 评论 -
vue3.0 Composition Api 设计动机
用组件的选项(data、computed、methods、watch)组织逻辑在大多数情况下都有效。然而,当我们的组件变得更大时,逻辑关注点的列表也会增长。这可能会导致组件难以阅读和理解,尤其是对于那些一开始就没有编写这些组件的人来说。看着代码行数都差不多,这只是最简单的一个示例,如果给获取鼠标位置添加各种业务。......原创 2022-07-16 21:11:30 · 274 阅读 · 0 评论 -
canvas 实现静态流程图
canvas 画静态流程图,canvas 画 圆、棱形、三角形、线条、曲线、文本、图片原创 2022-07-13 17:36:08 · 1537 阅读 · 0 评论 -
vue部署,用户无感知更新问题调研
方案1:文件名带有hash值实现无感发布: 系统更新时,只需要将打包之后的文件除index.html以外的文件(js/css/img),全部上传到服务器网站目录,未修改文件(即重名文件)直接跳过, 有修改的文件由于文件的hash值不同会被上传, 上传完毕我们再将index.html覆盖掉旧版就行。这段时间用户已请求旧版本index.html的无影响(不会出现文件404,因为新旧版本js/css同时存在),而新访问用户则请求的是新版index.html,访问旧页面用户刷新也会请求新版文件,并且无缓存影响,即原创 2022-05-27 12:01:29 · 1412 阅读 · 0 评论 -
彻底了解http 缓存
强制缓存Expires: new Date().toUTCString(); 即将废弃!!!缓存机制:判断本地时间是否大于缓存时间缺点:依赖本地时间,如果本地时间有更改,game over。。。Cache-Control: max-age=10;缓存机制:max-age 定义过期时间,时间一到就过期,单位秒。 缺点:无法判断请求内容是否过期。协商缓存Cache-Control:no-cache; last-modified: 文件更新时间缓存机制:通知浏览器使用协商缓存原创 2022-03-21 15:48:56 · 1115 阅读 · 0 评论 -
vue + ts + element下拉加载更多指令
import { DirectiveOptions } from "vue";/** * 对 element-ui 的无限滚动在 el-table 上使用的封装 */import elInfiniteScroll from "element-ui/lib/infinite-scroll";const elScope = "ElInfiniteScroll"; // scope nameconst msgTitle = `[el-table-infinite-scroll]: `; // me原创 2021-09-22 12:00:53 · 360 阅读 · 0 评论 -
vue2.0 + ts 遇到this 指向的问题
运行环境“vue”: “^2.6.11”,“typescript”: “~3.8.3”,问题重现html <el-tree :data="treeOptions.data" node-key="id" @check="treeOptions.checkChange" />js问题1:export default class GoodsClassify extends Vue { private treeOptions = { data:原创 2021-09-03 17:38:59 · 1487 阅读 · 0 评论 -
axios 上传文件获去上传进度
onUploadProgress 介绍axios({ methods: 'POST', url: 'your upload url', data: 'your data', onUploadProgress(e) { console.log(e.loaded) // 已上传大小 console.log(e.total) // 文件总大小 console.log(Math.floor(e.loaded / e.total * 100)) // 上传进度百分比 }})onUploa原创 2021-05-24 17:46:51 · 320 阅读 · 0 评论 -
vue + ts 错误排除 Argument of type ‘XXX‘ is not assignable to parameter of type ‘Vue‘.
错误:大量出现这种错误,一般由于你重写了mixins中的方法,而你使用private 进行重写导致错误出现。解决方法: private(私有) 变成 public(公共)原创 2021-01-07 08:13:55 · 12716 阅读 · 1 评论 -
ts + axios封装
https.ts文件/** * @author 作者 * @time 2020-9-27 8:47 * @title http请求封装 * desc 前后端约定接口返回解构规范 * { * code: '1', * data:" 请求成功", * message: "" * } */import { Interceptor } from './interceptor';import { message, Modal } from 'ant-design原创 2020-10-23 16:09:53 · 3623 阅读 · 4 评论 -
pc端适配
关于pc端适配走了很多弯路。现有设计图 1920方案一:1.使用postcss-pxtorem + amfe-flexible2.创建postcss.config.js 文件postcss.config.js配置如下 module.exports = { plugins: { "postcss-pxtorem": { rootValue: 192, // 设计图尺寸 propList: ["*", '!border原创 2020-08-26 09:37:45 · 1005 阅读 · 1 评论 -
vue + ts tslint.json配置
{ "defaultSeverity": "warning", "extends": [ "tslint:recommended" ], "linterOptions": { "exclude": [ "node_modules/**" ] }, "rules": { // 禁止自动检测末尾行必须使用逗号,always总是检测,never从不检测,ignore忽略检测 "trailing-comma": [true, {原创 2020-08-26 09:02:34 · 1110 阅读 · 0 评论 -
echarts vue中国地图封装
效果echarts vue中国地图封装<template> <div class="echarts"> <div :style="{height:'400px',width:'100%'}" ref="myEchart"></div> </div></template><script>import echarts from 'echarts'// import '../../node_mod原创 2020-05-23 17:01:53 · 747 阅读 · 0 评论 -
echarts 折线图vue封装
效果echarts 折线图vue封装<template> <!--为echarts准备一个具备大小的容器dom--> <div class="line" :id="Line" :style="{height:'100%',width:'100%'}" /></template><script>import echarts from 'echarts'export default { name: 'Line', pro原创 2020-05-23 16:53:29 · 405 阅读 · 0 评论 -
vue echarts柱状图封装
效果echarts 柱状图vue封装<template> <div class="bar" id="bar" /></template><script>// 自行引入echartsimport echarts from 'echarts'export default { name: 'Bar', // 接收从父组件传回的值 props: ['getData'], data () { return {} },原创 2020-05-23 16:45:06 · 1286 阅读 · 0 评论 -
echarts饼图封装
效果图vue封装echarts饼图<template><!--为echarts准备一个具备大小的容器dom--><div class="pie" :id="pie" :style="{height:'100%',width:'100%'}" /></template><script>// 自行导入echartsimport echarts from 'echarts'export default { name: 'pie原创 2020-05-23 16:36:39 · 1285 阅读 · 0 评论 -
前端导出excel - 公共方法
vue 导出excel (公共方法)// 导出文 -resexport function handleExp (res) { // 获取导出文件名称 const file = store.state.headerContent const filename = file['content-disposition'].split(';')[1].split('filename=')[1].split('"')[1] || file['content-disposition'].split(';原创 2020-05-18 15:39:28 · 173 阅读 · 0 评论 -
tinymce爬坑-弹框中使用tinymce
富文本无法编辑:可能造成的原因:tinymce在modal前创建了,所以导致这个问题,解决方案就是用 v-if model弹出后是tinymce显示 <el-dialog :visible.sync="dialogFormVisible" > <tinymce v-model="form.content" :height="300" v-if="dialogFormVi...原创 2020-02-11 11:09:14 · 4646 阅读 · 6 评论 -
集成云信SDK-web版-vue客服(伸手党)
<template> <div class="customer-servce"> <div class="imServer-wrapper"> <main class="imServer-main"> <im-record class="item im-record" ...原创 2019-11-15 17:36:58 · 2383 阅读 · 5 评论 -
vue模板搭建
1.项目目录2.项目部分组件—-router/router.js ** * 路由引入 * const * => () => import('src/view/...') * */const LoginPage = () => import('@/view/LoginPage')/** * 路由注册 * '//注释信息' * { * ...原创 2019-02-26 10:38:04 · 348 阅读 · 0 评论 -
webpack入门
1.起步 创建webpack_demo文件夹(名称必须是webpack_demo) cmd (打开命令行) cd webpack_demo (进入webpack_demo) npm install --save-dev webpack (下载webpack) npm init (初始化webpack,没有特殊要求,一路默认,会自动生成package.json文件)...原创 2019-02-01 14:00:10 · 253 阅读 · 0 评论 -
Vue如何使用国际化
一.下载1. npm i vue-i18n -D //i是install缩写 --save-dev -D是--save-dev的缩写 (优点:用于开发环境,减少打包大小, 写入devDependencies ) 2. npm i vue-i18n -S //-S是--save的缩写(用于生产环境, 写入dependencies) 二.使用1.main.js中...原创 2019-01-31 20:21:07 · 117 阅读 · 0 评论 -
异步组件,动态组件
Vue-cli生成的项目,使用webpack打包,会打包成一个html页面和一个js文件,导致页面首次加载非常的慢,为了解决这个问题,使用异步组件,将他打包成多个js文件,优化首次加载页面速度,采用了异步加载,什么时候需要什么时候加载。使用:(router.js)before(不优化): import Login from '@component/login'// 方法一:later...原创 2019-01-23 12:19:14 · 107 阅读 · 0 评论 -
vuex的使用
一、下载npm install --save二、引入(在main.js中操作)import Vue from 'Vue'import Vuex from 'Vuex'import Vuex from 'Vuex'三、注册(在main.js中操作)Vue.use(Vuex)四、使用1.state属性的使用(一般用于保存初始化状态) eg: ...原创 2019-01-19 10:34:30 · 91 阅读 · 0 评论 -
vue中代理请求
1.打开config/index.js文件module.exports = { dev:{ } }2.在dev中找见proxyTable {} module.exports = { dev:{ proxyTable:{ '/api': {...原创 2019-01-15 17:03:22 · 1405 阅读 · 0 评论 -
Query String Parameters、Form Data、Request Payload的区别
Query String Parameters当发起一次GET请求时,参数会以url string的形式进行传递。即?后的字符串则为其请求参数,并以&作为分隔符。如下http请求报文头:General Request URL: http://login?uname=dingding Request Method: GETQuery String Parameter...原创 2019-01-15 04:17:41 · 2598 阅读 · 0 评论 -
window系统打包项目到linux服务器
前端发布vue项目-linux(window系统打包项目到linux服务器)下载xshell(用于在window系统操作linux系统)下载xftp(用于在window系统上传下载文件)常用命令1.cd / (进入根目录)、cd /home(进入home文件夹)2.ls(查看目录下的所有文件)3.pwd(查看所在目录的路径)4.scp(用与在linux系统拷贝文件)5.ls...原创 2019-05-09 15:53:38 · 798 阅读 · 0 评论 -
vue中不常见但很实用的命令
1.V-Lazy的使用npm install vue-lazyload --save // 首先下载vue-lazyload插件// 在main.js中注册importVueLazyload from 'vue-lazyload'Vue.use(VueLazyload, {error:'dist/error.png',//这个是请求失败后显示的图片loading:'dist/...原创 2019-03-01 01:13:30 · 238 阅读 · 0 评论