
vue
LILEILEILOVE
这个作者很懒,什么都没留下…
展开
-
rsa非对称加密
3.请求配置头部,用formData传参时的配置。原创 2022-11-03 18:05:01 · 255 阅读 · 1 评论 -
vue3中Pinia的使用
3.在store文件夹里创建modules文件夹,创建各个模块的,demo.js。2.在main文件中引入pinia并创建容器挂载到根实例上。1.创建store文件夹,创建index.js文件。原创 2022-10-27 11:39:26 · 1390 阅读 · 1 评论 -
window.open的使用
window.open是默认新开一个tab页。前面没有域名会自动沿用之前的。原创 2022-10-25 10:31:46 · 660 阅读 · 0 评论 -
vue3监听localStorage
1.utils中创建方法。2.在main中引入。3.在使用的页面调用。原创 2022-10-21 17:29:03 · 3236 阅读 · 1 评论 -
vue3分页器组件
1.组件pagination。原创 2022-10-11 15:00:10 · 835 阅读 · 0 评论 -
过滤机构树,vue3+ant tree
过滤机构树,vue3+ant tree。原创 2022-09-23 16:48:05 · 435 阅读 · 0 评论 -
dayjs获取年月日季度
【代码】dayjs获取年月日季度。原创 2022-09-15 12:36:19 · 5250 阅读 · 0 评论 -
QRCode.js生成二维码
一、安装项目文件夹中执行npm install --save qrcode或者,全局安装npm install -g qrcode在ES6/ES7中使用import QRCode from 'qrcode' // import引入可能会导致报错,可以尝试require// const QRCode = require('qrcode'); // With promisesQRCode.toDataURL('I am a pony!') .then(url => { c原创 2022-03-14 20:25:15 · 1196 阅读 · 0 评论 -
Vue3的图片引入
方法引入<img :src="imgFun('test.png')"/>function imgFun(val){return new URL(`../../asseets/home/img/${val}`,import.meta.url).href;}背景样式引入.box{background:url("../../assets/home/img/test.png")}.box1{background:url("~@assets/home/img/test.png")}原创 2022-03-12 09:19:05 · 14013 阅读 · 0 评论 -
VueDraggable在Vue中使用
VueDraggable在vue3中使用要用最新版本在移动端使用点击事件不灵敏解决方法:1.添加delay=“1”,鼠标按下多久可以拖拽;2.添加fallbackToLerance=“3”,拖拽之前需要移动 的px;//最有效3.将拖拽的组件写成组件,点击通过$emit告诉父组件;...原创 2022-03-11 19:07:12 · 1212 阅读 · 0 评论 -
vue兼容IE
一、安装:npm install --save babel-polyfill;二、配置:module.exports = { entry: [“babel-polyfill”, “./src/main.js”] };三、main.js中配置:import ‘babel-polyfill’ //放在最顶部,确保全面加载或者新建文件babel.config.js,与vue.config.js同级//babel.config.js,module.exports = {presets:["@vue/cl原创 2022-02-18 18:51:07 · 460 阅读 · 0 评论 -
去掉输入框的黄色背景
用足够大的内阴影来覆盖/deep/input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px white inset !important;background-image:none;}原创 2022-02-09 14:02:57 · 523 阅读 · 0 评论 -
vue全局添加字体
1.在assets文件夹中创建fonts文件,放入ttf类型的文件2.在assets文件夹中创建css文件。在css文件夹中创建fonts.css@font-face{font-family:"DINALternateBold";src:url("../fonts/DINALternateBold.ttf")}3.在main.js中引入import"@/assets/css/fonts.css"...原创 2022-01-26 09:57:09 · 2181 阅读 · 0 评论 -
vue3父子传参控制弹出框
父组件传参要用v-model<template> <div class="muban"> <el-button type="primary" size="small" @click.prevent="tipShow" > tip </el-button> <MinDialog v-model:dialogVisi原创 2022-01-24 21:38:10 · 2116 阅读 · 4 评论 -
前端项目的首页优化
1.加 CDN,图片。js\css文件用cdn加载。2.图片懒加载,按需加载。压缩图片,webpp格式的图片。组件懒加载3.减少公共自定义组件。减少全局的混入4.减少http请求。5.前端、服务端开启gzip。6.删除mock.js.7.删除无效代码。8.检测后端接口,性能测试。9.使用浏览器强缓存策略。10.延迟调用一些方法,减少js主进程(比如埋点方法。fastclick,vconsole的加载)...原创 2022-01-24 19:55:04 · 827 阅读 · 0 评论 -
vue项目中fastclick的安装使用
fastclick 的安装npm install fastclick --save在main.js中引入import FastClick from "fastclick"//fastclick导致input框点击慢的问题,引入import "@utils/resetFastClick.jsFastClick.attach(document.body)在utils文件夹中创建resetFastClick.js文件import FastClick from "fastclick"//f原创 2022-01-19 19:10:21 · 1688 阅读 · 1 评论 -
截取地址栏search部分,获取cookie
截取地址栏search部分function getSearch (){const obj = {}const searchStr = location.searchif(typeof searchStr === "string"){const searchIndex = searchStr.indexOf("?")const searchKeyValue = searchStr.slice(searchIndex + 1).split("&")for (let i = 0 ;i<原创 2022-01-17 19:11:34 · 522 阅读 · 0 评论 -
vue3添加单元测试
单元测试原创 2021-12-22 14:29:54 · 1671 阅读 · 0 评论 -
浏览器跨域的方法
1.新建谷歌浏览器之后创建两个快捷方式;2.选择一个快捷图标右击==》属性,在快捷方式==》目标这一栏,在最后追加 --disable-web-security --user–data-dir=你的新建文件夹,这里我的写法是:?–disable-web-security --user–data-dir=D:\ChromeTest;3.点击确定,重新打开浏览器4.在D盘新建文件夹ChromeTest。(这个文件夹就是空的)...原创 2021-12-15 14:32:09 · 655 阅读 · 0 评论 -
前端解密电话号码
解密后台返回的加密电话号码使用AES/DES加密解密npm install crypto-js --saveimport CryptoJs from 'crypto-js'let mobile = this.getMobile(moblieNo)//mobileNo为后台给的加密电话号码let mndly = '4454846587778926'//mndly为密匙偏移量,这个一般为后端返回getMobile(val){return this.daeacaraypat(val,'21原创 2021-12-06 21:41:00 · 1837 阅读 · 0 评论 -
vue DOM滚动事件,获取DOM滚动条距离DOM底部的距离
<ul @scroll.passive = 'scroll(e)' style="height:200px;overflow:auto;"><li>aaaa</li></ul>scroll(e){let scrollBottom = e.target.scrollHeight - e.target.scrollTop - e.target.clientHeight;if(scrollBottom < 10){console.log("滚原创 2021-12-05 21:07:42 · 1525 阅读 · 0 评论 -
上传图片限制宽度和高度
采用el-upload组件onChange(file){let imgName = file.name;if(imgName.includes("gif") ||imgName.includes("jpg") ||imgName.includes("png") ||imgName.includes("jpeg") ||){let size = file.size / 1024/1024/2;if(size >=3){this.fileList = [];}else{let im原创 2021-11-28 23:14:35 · 546 阅读 · 0 评论 -
下载文件和上传文件,excel、psd格式等
运用的都是el-upload组件一、下载文件用用a 标签的特性;downExcel(file){const elink = document.createElement("a")let {name,url} = file;elink.style.display = "none";elink.download = name;//必须要有elink.href = url;document.body.appendChild(elink);elink.click()elink.remove();原创 2021-11-12 23:57:12 · 418 阅读 · 0 评论 -
上传图片、文件
1.用el-upload上传图片,然后请求后台接口,获取后台返回的图片url,<el-upload:class="{hide:hideUploadEdit}"v-loading = 'loading'element-loading-text='上传中'ref = 'uplod'action='#'accept='image/png,image/gif,image/jpg,image/jpeg':list-type='picture-card':limit="limitNum':a原创 2021-11-04 23:32:30 · 190 阅读 · 0 评论 -
截屏,并传递到后台
简化版<div ref='box'></div>screenshot(){html2canvas(this.$refs.box,{backgroundColor:null,//避免图片有白色边框useCORS:true,allowTaint:true}).then(canvas=>{let dataURL = canvas.toDataURL('image/png',1.0)//默认截取的图片就是base64格式的,后台可以转化this.$emit('se原创 2021-11-04 22:51:25 · 395 阅读 · 0 评论 -
导入excel表格
从前端上传Excel表格<el-uploadref="upload"actionaccept="##":auto-upload="false":show-file-list="false":on-change="changeUpload"><el-button>导入表格<el-button></el-upload>js部分changeUpload(file,fileList){let form = new FormData();原创 2021-11-04 22:20:46 · 122 阅读 · 0 评论 -
每次请求都加时间戳
在请求配置文件中统一设置,加时间戳可以解决IE浏览器请求缓存的问题instance.interceptors.request.use(config=>{let getTimestamp =(new Date().getTime())if(config.url.indexOf("?")>-1){config.url = config.url + '×tamp='+getTimestamp;}else{config.url = config.url +"?&ti原创 2021-10-19 22:53:26 · 1707 阅读 · 0 评论 -
防抖函数调用
export default {data(){return {debounceFun:this.$utils.debounce(this.getList(),800)}}watch:{form:{handler(newVal){this.debounceFun()},deep:true}在utils.js文件中创建防抖函数export function debounce(func,wait,immediate){let timeout,result,let debounc原创 2021-09-30 00:00:10 · 432 阅读 · 1 评论 -
echarts 图表的滚动条
const dataZoom = [{show:true,zoomLock:false,//禁止拉伸height:8,xAxisIndex:[0],bottom:10,startValue:0,endValue:10,handleIcon:'',handleSize:'100%',handleStyle:{color:'#bbbbbb',shadowColor:'',shadowBlur:5,},backgroundColor:'#rgba(222,222,222,.5)',原创 2021-09-23 23:41:33 · 1630 阅读 · 0 评论 -
在控制台更改内嵌iframe网页地址
在控制台输入$0.src = 'http://baidu.com'原创 2021-09-19 00:09:37 · 793 阅读 · 0 评论 -
并发请求关闭LOADING
<script> import axios from 'axios' import config from '@/config' import store from '@/store' import eleUi from 'element-Ui' const Loading = eleUi.Loading //bing fa qing qiu guan bi loading 关.原创 2021-09-05 03:37:16 · 282 阅读 · 0 评论 -
vue 下载pdf
<div @click='downloadToPDF'>下载PDF</div> <div ref='pafWrap'> <img src="detail.pictureUrl" alt="" @load='onImgLoaded'> </div> <script> onImgLoaded(e){ if(e.targ...原创 2021-09-05 03:09:14 · 432 阅读 · 0 评论 -
vue 下载excel表格
<script> //excel请求接口 export function downloadSummaryToExcel(params){ return axios.request({ url:'', methods:'get', responseType:'blob', params..原创 2021-09-05 02:14:02 · 148 阅读 · 0 评论 -
上传图片 upload
<el-upload class="{hide:fileList2.length ===1}" class='strategy-upload' action=‘#’ :on-change="(file,fileList2)=>{onChange(file,fileList2)}" :limit="limit2" :file-list="flileList2" list-type="..原创 2021-09-04 23:39:34 · 244 阅读 · 0 评论 -
vue data- 属性,实现点击页面提示框隐藏
<div @click='showTitleTip = !showTitleTip'>按钮</div><div v-show='showTitleTip' data-keep='on'>提示框</div><script>data(){return{showTitleTip:false}created(){document.addEventListener('click',this.hideTipsEventHandler,true)原创 2021-08-10 23:48:33 · 234 阅读 · 0 评论 -
echarts图随窗口的变化而变化
1.这种方法适合页面中只有一个echarts图window.onresize = ()=>{this.myCharts.resize()}2.利用事件监听drawPic(){let myCharts = this.$echarts.init(document.getElementById('pic')let option = {}myChart.setOption(option)this.r = () =>{myChart.resize()}window.addEven原创 2021-07-22 00:35:30 · 339 阅读 · 0 评论 -
vue async await
async getList(){this.loading = true;let data ={test:'123'}try{const res = await getListApi(data)if(parseFloat(res.code)===0){if(res.data){$nextTick(()=>{this.listData = res.data;})}}catch(e){console.log(e)}finally{this.loading = false}原创 2021-07-04 20:36:19 · 183 阅读 · 0 评论 -
嵌套页面获取滚动scrollTop
iframe嵌套页面没有办法获取浏览器滚动条,就监听嵌入页面DIV的滚动<div id="app" @scroll="handleScroll"><div>methods:{handleScroll(){let appScroll = document.getElementById("app");console.log(appScroll.scrollTop)this.$store.commit('SETSCROLLTOP',appScroll.scrollTop)}原创 2021-06-25 20:29:12 · 251 阅读 · 0 评论 -
echarts双Y轴等分
1.安装ecartsnpm i echarts -S2.main.js配置import Vue from 'vue'import App from './App'import router from './router'// 引入echartsimport echarts from 'echarts'Vue.prototype.$echarts = echartsVue.config.productionTip = falsenew Vue({ el: '#app', r原创 2021-06-13 18:39:16 · 724 阅读 · 0 评论 -
tab栏滑动效果
主要是用到了 transition,用过度来实现效果<template><div> <div class="box"> <div class="left" @click="tabFun('0')"> left </div> <div class="right" @click="tabFun('1')"> right </div> <div cla原创 2021-05-30 00:30:07 · 527 阅读 · 0 评论