vue
雨中的风铃子
这个作者很懒,什么都没留下…
展开
-
sentry线上报跨域问题记录
sentry跨域问题记录原创 2022-08-22 11:01:27 · 1311 阅读 · 2 评论 -
Failed to compile. ./node_modules/watchpack/lib/chokidar.js Module build failed (from ./node_module
Failed to compile../node_modules/watchpack/lib/chokidar.jsModule build failed (from ./node_modules/babel-loader/lib/index.js):SyntaxError: C:\wanglingzhi\经销商项目\jv-cms-manage\node_modules\watchpack\lib\chokidar.js: 'return' outside of function. (4:1)原创 2022-06-21 15:06:18 · 964 阅读 · 2 评论 -
如何快速定位到指定元素?
Element 接口的scrollIntoView()方法会滚动元素的父容器,使被调用scrollIntoView()的元素对用户可见。element.scrollIntoView(); // 等同于element.scrollIntoView(true)element.scrollIntoView(alignToTop); // Boolean型参数element.scrollIntoView(scrollIntoViewOptions); // Object型参数参考文档:https://de原创 2022-03-29 19:01:54 · 489 阅读 · 0 评论 -
base64和网络链接如何互转?使用axios请求时,如何发送formData请求?
// 创建formData对象const form = new FormData()// 将上传的文件对象转为formData对象// fileData:上传的文件对象form.append('file', fileData)// api接口正常请求即可,只不过传的值是被转换后的formaxios({ method: 'post', url: url, data: form})...原创 2021-10-19 17:00:08 · 2668 阅读 · 0 评论 -
如何自定下载文件名?
1、通常下载文件我们直接通过打开此链接,即可下载,但这种文件名,我们无法自定义,多数是通过后端来控制(即采用链接最后面那一串为文件名)window.open(url, '__blank')2、同域名情况下,我们也可以通过a标签的download属性来自定义下载文件名(通常情况存储文件和自身网址不是统一域名)let a = document.createElement('a') a.href = url a.download = `${name}${+new Date()}.c原创 2021-09-03 13:47:20 · 4456 阅读 · 0 评论 -
css如何与dom通过js变量通信?
目标:在dom中设置变量,然后css文件直接获取.vue文件<div style="--color: red">测试颜色</div>原创 2021-06-11 16:47:58 · 187 阅读 · 0 评论 -
插槽传值,和子组件公用数据
https://cn.vuejs.org/v2/guide/components-slots.html原创 2021-05-31 16:31:11 · 131 阅读 · 0 评论 -
await 后跟promise与 普通函数的区别
1 对于promise对象,await会阻塞函数执行,等待promise的resolve返回值,作为await的结果,然后再执行下下一个表达式2 对于非promise对象,比如箭头函数,同步表达式等等,await等待函数或者直接量的返回,而不是等待其执行结果...原创 2021-03-16 10:18:56 · 1613 阅读 · 1 评论 -
deep导致样式失效?
背景:最近谷歌升级到89.几的版本后,项目中有些样式失效了出现场景解析:1. 全局样式:加了/deep/后的样式会失效 =》实际上,全局样式,根本不需要使用deep来做样式穿透,全局样式只有优先级的问题,没有拿不到的问题2.局部样式:/deep/嵌套使用,会导致样式失效// 这就是局部嵌套使用(scoped),会导致.c的样式失效<style lang="scss" scoped>.a /deep/ .b { ...... /deep/ .c { ...原创 2021-03-04 13:52:16 · 1104 阅读 · 2 评论 -
如何用element里的table通过单元格的拆分合并渲染出树结构?
背景:通常后端是把所有数据(包含父级和子级)通过一个数组扁平化(以子级为维度)给我们,然后前端再去根据一定的条件进行单元格拆分合并,正常这样是没有问题的,但当遇到分页时,就会存在部分数据在上一页和部分数据在下一页的问题,现在我们换个角度,让后端以树形结构(以父级为维度)把数据传给我们呢?那就可以完美解决这个问题,请继续往下看:解决:.vue文件<template> <el-table :data="tableData" border :sp原创 2021-03-01 14:41:32 · 4132 阅读 · 7 评论 -
从零开始打造前端项目(vue+webpack+elementUI)
一、项目初始化1.初始化项目npm init -yinit:完成项目初始化 -y:使用默认选项结果:会生成package.json文件2.安装webpacknpm i webapck webpack-cli -D-D:安装开发坏境的依赖,是--save-dev的简写结果:会发现多了 node_modules 目录, 在 package.json 文件中, 多了如下图所示的两个包...原创 2020-12-09 15:00:38 · 1130 阅读 · 2 评论 -
Vue--父子孙组件传值之$attrs和$listeners详解
通常vue中父子组件传值,我们一般都是用props及$emit来实现,这没毛病,但是如果存在多代呢?例如爷、父、子、孙、太孙……等多代存在的时候呢?当然你用props及$emit一层层传递也没毛病,唯一的问题就是很麻烦……而vue在2.4.0版本中,为了解决这个问题,便提出了$attrs和$listeners,请见以下示例:示例一:不绑定$attrs时,看下每个下级组件,$attrs默认会接收到什么?index.vue文件(爷)<template> <A原创 2020-09-18 16:03:18 · 1784 阅读 · 0 评论 -
页面一次性加载数据过多时,页面卡死怎么办
问题:当后端一次性返回数据(array)过多时(例如1000条或者更多),会导致页面卡顿优化思路:将这1000条数据划分为多个小数组,然后一段一段的加到页面上解决方案:利用window.requestAnimationFrame()或者setInterval()示例:以window.requestAnimationFrame()为例window.requestAnimationFrame()告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要.原创 2020-09-16 09:35:00 · 10952 阅读 · 2 评论 -
web端如何实现导出功能?
以vue项目为例,介绍两种使用mixins方法,参数自己根据实际需求更改即可,使用时,只需直接调用此方法,传参即可1.方法一/** * @param {fun} 导出函数,即后端接口 * @param {params} 导出参数 * @param {name} 导出文件的名字 * @param {curLength} 导出的当前数量 * @author ****** 2020.07.21 */ onExportFile(fun, params, name, curLength)原创 2020-07-21 16:22:51 · 1062 阅读 · 0 评论 -
element侧栏导航菜单NavMenu,删除其中一个菜单后,高亮显示错误?
这是我曾在项目中切实遇到的问题,觉得很有必要给大家分享一波,避免大家同样遇坑!1.需求前景:首先给大家介绍下,这个项目需求大概是什么情况?需求是侧边导航栏,要求可以对其进行增删改查,如下图所示:2.遇到的坑:删除其中一个模块后,再次点击其中的某一项菜单,发现被删除之后的菜单高亮显示错位了,但是项目也不报错,这着实让人胃疼。。3.话不多说,我们直接说为啥以及怎么解决这个问题?直接上代码:没错就是这个唯一性标识key引起的,因为这里所用的是循环的索引值index,而当删除其中一个后,后面对应原创 2020-06-09 09:33:13 · 596 阅读 · 4 评论