
vue
敲完这个我就再也不熬夜了
就这也想阻止我熬夜?
展开
-
vue使用jquery.wordexport导出word文档(批量导出为zip)
网上查了很多jquery.wordexport的文章都是只支持单独导出word,不符合业务需求。因此修改了jquery.wordexport、利用jszip、file-saver批量导出word。原创 2023-02-07 14:53:27 · 1082 阅读 · 0 评论 -
关于jspdf安装失败(超时)
关于jspdf安装失败(超时)的解决方案原创 2022-12-16 17:27:32 · 2658 阅读 · 1 评论 -
vue 利用v-model语法糖封装组件并实现<component>动态组件
利用v-model语法糖封装组件并实现动态组件主要是为了统一渲染element组件和自定义组件。v-model双向绑定实际就是数据绑定+事件绑定的一个语法糖。我们可以利用v-model的实现原理对组件进行封装。...原创 2022-08-01 15:21:59 · 1609 阅读 · 0 评论 -
vue模拟a标签设置请求头headers接受文件流,导出xlsx文件
今天后端提供了一个导出xlsx文件的接口,这里做一篇实现xlsx文件导出的技术总结。分别关于后端是否提供xlsx文件流,还是json格式数据a标签导出xlsx文件我们可以直接通过,a标签href,浏览器直接调接口导出xlsx文件。但是当接口有权限认证时,a标签不能添加请求头,权限认证通过不了。<a href="url接口地址">导出文档</a> axios模拟a标签注意这里响应类型要设置为blob this.axios .get(原创 2021-11-24 15:42:02 · 4378 阅读 · 1 评论 -
vue路由$router.push()的三种传参方式
$ router.push() 的三种传参方式最近在工作中遇到需要使用$router.push传递一个对象,在这里做一下技术总结通过path传参很常用的一种,传递的参数会显示到path中,在刷新页面时数据不会丢失,常用于数据的新增、编辑、查看详情。this.$router.push(`pushAdd/${id}`)路由配置{ path: '/pushAdd/:id', component: () => import('@/v原创 2021-11-23 15:44:48 · 56569 阅读 · 5 评论 -
element-ui利用.sync和$attrs,$listener简化封装对话框组件dialog(一次、二次封装)
在干业务时,总会遇到需要封装对话框组件。这里总结一下对话框的一次、二次(优雅永不过时!)封装一次封装普通封装对话框:这里注意不能直接更改props里的值,否则会报错<template> <div> <el-dialog title="提示" :visible.sync="dialogVisible" width="30%"> <span>内层dialog消息</span> <span slot="原创 2021-08-27 15:50:26 · 1264 阅读 · 2 评论 -
vue+element实现鼠标滚轮控制轮播图
实现鼠标滚轮控制轮播图:使用element走马灯:<template> <div class="box"> //添加@mousewheel鼠标滚轮事件 <div style="height: 100%" @mousewheel="rollScroll($event)"> <el-carousel direction="vertical" :autoplay="false" trigger原创 2021-08-19 11:22:55 · 2169 阅读 · 4 评论 -
听说她还不会组件传值,我连夜为她写了组件传值的七种方式
前言在抽离公共组件时,会遇到很多需要组件传值的地方,特别是封装对话框组件。回想最初只会props、$emit的我在遭遇组件二次封装时越写越复杂,内心万分悲痛。痛心疾首的我熬夜写了这篇文章,帮助你们掌握组件传值的各种花式,玩弄各种业务需求,高强度对线面试官。是的,我心里装的是谁你们都清楚了吧?。props、$emit最基础的传值方式,主要用于父子之间,也可以用于爷孙之间(需要父组件做中转)父子之间父传子:子组件通过props接收父组件:<template> <div>原创 2021-08-18 16:35:11 · 155 阅读 · 0 评论 -
(canvas入门案例)vue利用canvas实现在线签名
导读最近看了三心大佬的canvas教程(发现新玩具),canvas真**好玩(优美中国话),附上三心大佬教程https://juejin.cn/post/6986785259966857247。废话不多说,上正餐创建canvas标签<canvas ref="saveCanvas" width="600" height="400" @mousedown="ctxDown" @mousemove="ctxMove($e原创 2021-08-09 14:18:40 · 643 阅读 · 1 评论 -
vue watch侦听器有无immediate的运行顺序
刚写项目的一个需求中遇到了watch运行顺序的坑,本打算把项目弄完再来看看,结果leader说产品还在改需求(高强度学习开始!!>_>)watch普通监听属性(无immediate)在初始化时不会执行watch created() { this.id = 1; console.log(this.id); console.log(this.name); }, watch: { id: function (val) { if (val原创 2021-07-22 16:48:58 · 1168 阅读 · 1 评论 -
浅谈vue中watch监听器的触发时机(watch的坑)
起因我需要在页面created时获得商家的类型id值,然后监听id值,动态的改变请求接口的地址。请求接口的函数在mounted中执行。业务逻辑写完后发现,页面在第一次加载时,接口没有数据,原因接口地址为空,即接口地址没有改变。代码 created() { this.typeId = this.$route.params.id; console.log("this.typeId的值发生改变,触发watch"); }, mounted() { console.log(原创 2021-07-22 14:09:55 · 5984 阅读 · 2 评论 -
vue项目vue.config.js devServer.proxy配置
devServer.proxy配置在vue.config.js文件中devServer: { before: require('./mock/index'), host: 'localhost',//target host port: 8080, //proxy:{'/api':{}},代理器中设置/api,项目中请求路径为/api的替换为target proxy: { '/api': {原创 2021-07-08 16:22:36 · 1774 阅读 · 0 评论 -
vue 基于elementUi根据路由表动态加载侧边栏导航
vue 基于elementUi根据路由表动态加载侧边栏导航在学习element-admin后,发现动态路由很有意思,打算自己重现一下动态路由功能路由router.js:在路由中可以添加hidden字段判断该路由是否显示const routes = [ { path: '/', redirect: '/container', hidden: true//控制该路由是否显示 }, { path: '/container', name: 'Contain原创 2021-07-08 14:20:35 · 2344 阅读 · 3 评论 -
vue组件如何自己调用自己(组件递归)
vue组件如何自己调用自己(组件递归)在做侧边栏导航动态加载时,需要用到vue的组件递归,最开始打算直接写函数递归来解决问题,结果没什么卵用,越写越复杂。直接上代码给组件name值<script>export default { name: "SideItem", } <script>直接在组件中调用即可<template> <div> <SideItem :tree="item"></SideItem&g原创 2021-07-08 14:06:48 · 3128 阅读 · 0 评论 -
vue使用ecahrts实现省市县地图上下钻到县一级(甘肃省为例)
实现echarts地图上下钻直接食用代码中的散点图是根据json文件中’cp’字段对应的坐标来定位的,有些地图json文件是’centroid’字段,建议配合https://blog.youkuaiyun.com/qq_41206305/article/details/116404455?spm=1001.2014.3001.5501食用最佳<template> <div> <!-- <button @click="a1">1111</button&g原创 2021-05-04 21:21:34 · 712 阅读 · 1 评论 -
如何封装一个vue组件
最近在学习vue的工程化,记录下如何封装vue组件废话不多直接上代码子组件<template> <div> <el-dialog title="提示" :visible.sync="dialogVisible" width="30%"> <span>这是一段信息</span> <span slot="footer" class="dialog-footer"> <el-bu原创 2021-04-01 10:25:47 · 632 阅读 · 0 评论