vue2.0
周家大小姐.
这个作者很懒,什么都没留下…
展开
-
vue 封装axios请求
在src/utils/request.jsimport axios from 'axios'import { Message } from 'element-ui'import router from '../router/index';/** * http请求工具类 * * 请求拦截器 负责将客户端标识token值存储并放置在头部提交给服务端 * * 响应拦截器 负责全局处...原创 2019-12-03 14:57:08 · 368 阅读 · 0 评论 -
vuecli3 批量打印二维码
【代码】vuecli3 批量打印二维码。原创 2023-11-07 15:14:49 · 585 阅读 · 1 评论 -
vue筛选框封装
点击对默认查询条件之外的条件进行 增加或删除在使用的组件或标签加入:filtrateList="filtrateList"传入条件查询数组当前demo写在xk-page中,就以xk-page组件为例原创 2023-07-07 10:51:35 · 1614 阅读 · 0 评论 -
vue el-table自动无限滚动
原先方案是用el-table-column插件来实现但发现在el-table-column的原理是copy原数据做为第二份数据中show-overflow-tooltip会失效,所以换了个JS写法。原创 2023-05-23 14:47:52 · 2528 阅读 · 0 评论 -
echarts 多个series时自定义tooltip切换图例legend报错
bug:当series有两条数据,legend取消一条后hover到echarts中会报错。tooltip:下的错误代码。原创 2023-05-16 16:41:04 · 573 阅读 · 0 评论 -
vue commit提交代码husky+lint-staged进行校验
需求:项目中用到了eslint+prettier对格式及语法校验但是commit的时候还是可以正常提交,所以需要用到一些插件来解决这个问题需要的效果如下:首先在搭建项目的时候选择了使用eslint;如果没有请先自行安装新建.eslintrc.js配置文件新建.eslintignore指定eslint忽略文件和目录安装prettier开发环境新建.prettierrc配置文件(仅做参考,自行补充)安装husky及lint-staged开发环境启动hooks添加prepare指令通过npm设置。原创 2023-03-16 14:47:53 · 981 阅读 · 0 评论 -
iframe 嵌套外部地址导致外部页面中的echart样式失效
注:echart在iframe中使用不可以作百分号为单位不然样式会失效。我这里是跨域的还是两个项目。原创 2023-02-23 10:22:40 · 823 阅读 · 0 评论 -
vue 自适应布局postcss-px-to-viewport
在根目录下建js文件。原创 2023-02-15 16:10:23 · 333 阅读 · 0 评论 -
js判断字符超长度中间用...替换
需求如果字符大于14个就中间用....原创 2023-01-09 17:33:26 · 535 阅读 · 0 评论 -
vue+antdesign 实现九宫格加弓字形左右下箭头
图片是九宫格布局,第一排图片之间的箭头为右箭头,第二排箭头为左箭头,以此类推,下箭头需求是以弓字形显示,卡片右侧内容Hover的时候要出现tip。注意最后一排不足三个的时候要隐藏横向箭头,并隐藏下箭头。原创 2022-12-09 16:25:35 · 1324 阅读 · 0 评论 -
vue+Ant Design进度条滑块与input联动
需求:滑块进度与输入框为一致,默认值为80,最小不能小于30,最大为100 子组件:父组件使用原创 2022-12-07 15:04:35 · 785 阅读 · 0 评论 -
ant Design-vue trim失效解决a-input前后空格问题
发现问题:如果在a-input中有用到allowClear属性就会发现空格正则会报错,原因是加了allowClear属性他的el指向的span标签所以要再做一层过滤处理。我这里是封装成全局自定义指令,如果同学要用的话根据自己需求放入对应文件即可。页面使用 v-input-trim。需求:输入框不允许有前后空格但字符中间可以有空格。原创 2022-10-25 16:52:41 · 2808 阅读 · 0 评论 -
vue 用iframe嵌套其它项目页面针对跨域与传值页面跳转失败处理
需求:A项目中有个菜单点击的时候中心内容页面与B项目的一模一样,所以产品想把B项目的页面直接嵌入过来显示,但其中有几个问题要处理就是嵌入B项目时B项目的左侧菜单和头部导航要隐藏,并而在跳时隐式登录,不需要用户重新在B项目又登录一次。B项目在全局路由router.beforeEach中接收并在里面处理自动登录与跳转的问题。加载Iframe成功前先获取A项目用户ID这里是写的模拟的;原创 2022-09-23 16:12:50 · 6541 阅读 · 1 评论 -
js判断当前是否平板安卓并是否支持cordova方法
需求:pc和安卓平板共用一套代码,平板的代码用了cordova做了一个壳子嵌套如果用了cordova就不支持elementUI中的上传功能,所以要用判断,现用户在平板又会用浏览器打开项目所以要做两层判断。app内是用cordova中的 window.actionSheet方法调用上传读取相机和图库方法。computed计算属性。原创 2022-08-23 09:17:27 · 834 阅读 · 0 评论 -
Server-Sent Events(以下简称 SSE)及event-source-polyfill使用单向长连接(后台主动向前端推送)
SSE 与 WebSocket 作用相似,都是建立浏览器与服务器之间的通信渠道,然后服务器向浏览器推送信息SSE 是单向通道,只能服务器向浏览器发送,因为流信息本质上就是下载。如果浏览器向服务器发送信息,就变成了另一次 HTTP 请求。如果加自定义参数可以使用三方插件event-source-polyfill。Server-Sent Events 教程 - 阮一峰的网络日志。缺点:不可以比如请求头中加token等。可 以看到token是有加上去的。...原创 2022-08-17 10:32:38 · 10968 阅读 · 1 评论 -
el-table中el-table-column下的操作切换class样式
需求用操作按钮太多;设计这边想如果按钮大于3个就把它放在更多中;再点击就隐藏,如果当前row为展开又点其它row的更多;就把这个展开的关闭箭头恢复成向左显示。el-table结合el-popover弹出框。原创 2022-07-29 15:43:08 · 1273 阅读 · 0 评论 -
vue使用CKEditor4编辑器
官网地址https://ckeditor.com/ckeditor-4/download/输入命令 安装好后在vue页面使用如果有报错可能是你没有我的插件解决方法:下载插件包放到public中 找到public\ckeditor\samples\index.html打开文件 皮肤安装https://ckeditor.com/docs/ckeditor4/latest/guide/dev_skins.html 点击要下载的皮肤后会出现皮肤浏览;再点击下载下载好后解压到指定的文件中,publi原创 2022-06-14 16:39:13 · 3739 阅读 · 1 评论 -
vue2 使用tinymce编辑器实现上传图片及粘贴word文本保留格式并粘贴图片自动上传
下载对应的版本然后在node_modules中找到tinymce把整个文件复制下来粘到public中在组件页面使用根据自己需求进行注释或添加功能 页面使用原创 2022-06-09 09:45:40 · 5921 阅读 · 3 评论 -
vue2 axios封装及全局loading设置及baseUrl设置
request.js文件用来封装请求http.js 用来写拦截及调用Loading方法拦截中的isNotEmpty方法loading.js 用来封装loading方法对loading css样式做调整api.js调用方法原创 2022-06-01 15:28:28 · 1697 阅读 · 0 评论 -
HBuilder使用夜神模拟器
夜神模拟器下载地址下载好后放入你文件的自定义位置hbuilder运行中配置路径cmd进入模拟器下的bin文件中输入./nox_adb.exe connect 127.0.0.1:62001如果报unable to connect to 127.0.0.1:26944: cannot connect to 127.0.0.1:26944: 由于目标计算机积极拒绝,无法连接。 (10061)可以查看是否正确的端口nox_adb devices发现后..原创 2022-05-17 17:38:42 · 629 阅读 · 0 评论 -
遍历伪数组中的empty,undefined方法
需求:做用户拖拽效果,用户随意拖拽并放入其中的div,由于是一个数组,如果用户拖入到第三个div那么前两个就为伪数组了,当用户再插入到第二个div的时候如果去用for的话会跳过undefined伪数组最后踩用for of es6方法解决 for (let key of list) { index++ if (index == endIndex) { console.log('找到了', key, index, d..原创 2022-05-09 16:43:57 · 246 阅读 · 0 评论 -
vue 子页面监听vuex变化第一次发触发但是变化后不会监听只有手动刷新页面后才会有变化
有一个需求就是对每个用户的操作进行保存,我把数据存在vuex中,奇怪的是watch监听一开始是有变化的;但是数据改变后页面却监听不到,只能手动刷新页面数据才会实时监听到变化html:页面存储 this.$store.dispatch('videoMonitorSystem/getUserInfoVideo', { data: params })下面看错误代码"/* * @Author: your name * @Date: 2022-04-28 11:15:44 * @La原创 2022-05-07 10:48:40 · 1787 阅读 · 0 评论 -
vue 截图并保存到本地html2canvas
安装插件cnpm install html2canvas filesaver --save页面引入import html2canvas from "html2canvas"html使用 <span class="icon iconfont xk-icon-jietu" @click="handlePrint"></span>methods方法 handlePrint () { let htmlDom = document.原创 2022-05-06 10:17:00 · 718 阅读 · 0 评论 -
flv DOMException: Failed to read the ‘buffered‘ property from ‘SourceBuffer‘: This SourceBuffer has
点击左侧判断当前数组播放的个数有没有超出,如果有就替换第一个点是做替换的时候会报错解决方案:依赖下flv.js/src/core/mse-controller.js找到appendMediaSegment(),_needCleanupSourceBuffer ()这两个方法,在方法中加入以下代码 if (!this._mediaSource || this._mediaSource.readyState !== 'open') { return; }在页面flv cre原创 2022-05-02 18:05:27 · 4604 阅读 · 2 评论 -
vue中动态获取变量名并赋值
需求根据vuex返回的数据,动态针对每个data中指定的变量改为true但如果一个个if去手写就太麻烦了;所以前缀相同尾部为I做为结束方便使用效果: data () { return { video0: '', video1: '', video2: '', video3: '', video4: '', video5: '' } }, cuVal..原创 2022-04-29 17:00:58 · 4669 阅读 · 1 评论 -
vue 左侧栏拖拽右侧宽度不变;出现滚动条
demo地址:点击下载其中封装了自定义指令及公共组件的左侧菜单,菜单效果为双击,可搜索子节点用户需求,左侧菜单为一次加载出来;可以搜索树控件下所有的子菜单内容1.左侧菜单可以自由拉宽缩小;右侧内容不变,本人用到的方法是右侧div中嵌入router-view才能做到不缩放1.左侧菜单默认为200的宽;拉条为15的宽当小于200的时候右侧动态设置宽度,不让右侧空出来```viewsviews ├─ AboutView.vue └─ HomeView.v...原创 2022-04-23 14:22:47 · 2677 阅读 · 0 评论 -
git 两个分支合并指定的commit方法
应用场景:在f-20220211-zhou-security分支上提交了一个commit,f-20220211-zhou分支也同样需要这个commit的代码,可以用git的一些操作替代首先选中需求的文件进行git add .再对暂存的文件进行commitgit commit -m '修改打包build文件说明'之后通过git log取到想到的commit 的id我的当前ID为40e73516b12ec0d64d08f34a157ffbcce5b2b47e给它复制下来原创 2022-04-15 10:29:31 · 587 阅读 · 0 评论 -
es6 js 匹配两个数组对象
判断两个数组用的value是否相等 this.list = [ { user_type: 0, user_id: 1003, department_id: 1, department_name: "公司xx", mobile: "", realname: "廖xx", com_nam原创 2022-03-28 15:21:45 · 1253 阅读 · 0 评论 -
vue cli3环境搭建
安装vue-cli脚手架$ cnpm install -g @vue/cli初始化项目vue create wisdom-safety转载 2022-03-10 09:57:54 · 251 阅读 · 0 评论 -
vue 适应布局配置flexible
项目中安装lib-flexiblenpm install lib-flexible --savecnpm install postcss-pxtorem --save-dev文件根部新建一个postcss.config.js文件const autoprefixer = require('autoprefixer')const px2rem = require('postcss-pxtorem')module.exports = { plugins: [autoprefix原创 2022-03-07 10:14:09 · 642 阅读 · 0 评论 -
删除node_module文件夹和package-lock.json文件,清除缓存
手动删除node_module文件夹和package-lock.json文件后清空缓存npm cache clean --force npm install原创 2022-03-03 16:12:40 · 6844 阅读 · 0 评论 -
Vue中生命周期总结及路由生命周期
根组件实例:8个 (beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed) 组件实例:8个 (beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed) 全局路由钩子:2个 (beforeEach、afterEach) 组件路由钩子:3个 (beforeRouteEnter转载 2022-01-10 19:45:41 · 4548 阅读 · 0 评论 -
vue2和vue3的区别
vue3为2020-9月正式版 vue3支持大多数vue2的特性 vue中设计了一套强大的组合API代替了vue2中的option API,复用性更强了vue3的API: setup:新的option, 所有的组合API函数都在此使用, 只在初始化时执行一次 函数如果返回对象, 对象中的属性或方法, 模板中可以直接使用ref:作用: 定义一个数据的响应式 语法: const xxx = ref(initValue): 创建一个包含响应式数据的引用(reference)对象 .原创 2022-01-05 16:03:10 · 1213 阅读 · 0 评论 -
eslint安装及使用
eslintrc.js文件,vue eslint配置原创 2021-12-29 11:38:01 · 1756 阅读 · 0 评论 -
element+vue下拉框加搜索功能
目录要树```componentscomponents ├─ TreeSelect2 │ └─ index.vue ```---TreeSelect2/index.vue<template> <div class="tree-select-item"> <el-select v-model="selec...原创 2021-12-22 09:35:04 · 1912 阅读 · 3 评论 -
VueTreeselect树控件搜索+下拉框功能
vue-tree树控件+搜索方法使用转载 2021-12-14 15:52:36 · 4615 阅读 · 2 评论 -
vue+scss全局使用mixin方法
先自行安装scss或者安装如下1.0版也可npm install sass-loader@10.1.1 --save-devnpm install node-sass --sava-dev想要在vue-cli中全局使用 scss的全局变量和 @mixin样式混入,需要安装插件,然后在 vue.conf.js 中配置npm install style-resources-loader vue-cli-plugin-style-resources-loader --save-devvue.原创 2021-11-03 15:18:12 · 2083 阅读 · 0 评论 -
vue+element 自定义指令弹框el-dialog拖拽
directive文件下目录结构el-drag-dialog ├─ drag.js └─ index.js drag.jsexport default { bind(el, binding, vnode) { const dialogHeaderEl = el.querySelector('.el-dialog__header') const dragDom = el.querySelector('.el-dialog')原创 2021-11-03 11:50:49 · 448 阅读 · 1 评论 -
vue+element directive自定义指令根据用户角色设置有没有权限显示对应功能页面
directive文件下创建以下目录permission ├─ index.js └─ permission.js permission.jsimport store from '@/store'export default { inserted(el, binding, vnode) { const { value } = binding const roles = store.getters && s.原创 2021-11-03 11:18:15 · 371 阅读 · 0 评论 -
vue+element el-date-picker日期筛选选择7天以内及小于当天日期,如果先选结束时间那么开始日期不能大于结束日期并小于当前日期
需求:1.先开始日期,只能选大于当前日期,结束日期不能选开始日期这天,并小于前日期的后七天2.如果先选结束日期,要求结束日期可选为当前日期之后的日期,再选开始日期,开始日期不能选结束日期的那天,并开始日间不能大于结束日期,而要在当天日期的有效内代码如下: <el-row> <el-col :span="12"> <el-form-item label="布控起始时.原创 2021-10-28 10:28:25 · 1718 阅读 · 0 评论