
vue
Heerey525
前端开发工程师一枚
yes,I like code
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vue-cli 配置多环境打包
情况由于目前前端切换 环境配置 变得比较频繁 之前的手动切换环境配置的方式比较繁琐且容易遗漏或者出错 配置多环境,可以实现一键打包测试包或生产包初步实现npm run dev // 本地运行--开发环境npm run dev:test // 本地运行--测试环境npm run build:test // 打包发布--开发环境npm run build:prod // 打包发布--测试环境步骤1.在根目录新建文件.env.dev、.env.testenv、 .env.pr原创 2021-08-24 22:19:44 · 2171 阅读 · 2 评论 -
H5内嵌App适配暗黑模式
情况:项目是vue做的H5页面,需要嵌入到App中适配暗黑模式,但是H5需要有个加载的过程,就会出现一闪而过的白色(未渲染完成)解决方法:在public/index.html中添加CSS媒体查询,代码如下<style type="text/css"> @media (prefers-color-scheme: no-preference) { body { background-color: #fff !important;原创 2021-08-20 00:22:38 · 989 阅读 · 0 评论 -
H5 模块悬浮拖动效果
问题:在移动端H5悬浮一个模块可能会出现遮挡到别的内容的情况,所以需要将这个悬浮的模块可拖拽。方案:就是监听触摸事件,(绝对定位)改变模块的位置预览需要浏览器在手机模式下代码:<template> <div class="container"> <div class="floatBox" id="floatBox"></div> </div></template><script>原创 2021-07-29 01:11:17 · 788 阅读 · 0 评论 -
Vue中使用echarts案例
需要注意的点:本案例采用按需引入;echarts所挂载的DOM必须设置宽高;本案例包含常用的折线图、柱状图(横向、竖向)、饼图、动态创建多个图表;echarts安装 npm install echartsecharts配置属性echarts官方案例echarts社区资源,有很多好看的例子官方案例中选中完整代码-按需引入,即可获得按需引入的模块<template> <div> <!-- 折线图 --> <div ref=".原创 2021-07-11 17:21:59 · 1384 阅读 · 0 评论 -
vue中WebSocket的使用
<template> <div></div></template><script>export default { name: 'webSocketDemo', created() { this.init() }, data() { return { socket: null // websocket } }, beforeDestroy () { // 销毁监听原创 2021-06-28 22:55:22 · 372 阅读 · 2 评论 -
web前端vue融云即时通讯上手
1、采用v2.8版本2、可以将https://cdn.ronghub.com/RongIMLib-2.8.latest.js,下载到项目里,以import形式导入,同时需要下载npm install --save @rongcloud/engine3、将初始化、设置监听、连接封装到一个rongyun.js文件中,作为初始化融云调用4、在业务组件中调用rongyun.js中方法,完成融云初始化之后,可以获取会话列表|历史消息,设置RongIMClient.setOnReceiveMessageListe原创 2021-05-27 21:16:14 · 2430 阅读 · 9 评论 -
TypeError: this.getOptions is not a function
今天重新配置文件,下载了less-loader,结果报错了TypeError: this.getOptions is not a function原因:(默认下载的)less-loader安装的版本过高我当前安装的是最新版8.0.0解决方案:查看less-loader 版本日志看到稳定版本是7.3.0方案一、先卸载less-loader 然后重新下载npm uninstall less-loadernpm install less-loader@7.3.0方案二、直接修改版本号原创 2021-03-09 17:57:45 · 330 阅读 · 0 评论 -
vue中数据改变给视图添加类banner动画
场景:当请求接口(或其他条件)使得当前绑定变量发生改变,希望出现类似banner的动画效果(表明数据发生改变)。解决方案:索性直接做成了banner的方式,绑定两个变量,来解决数据动态改变造成的视图不友好(如绑定同一个变量value,数据将在动画发生之前就改变,我们希望的是数据随动画一起变化)<template> <div id="container"> <div class="bannerBox"> <div class="linkB原创 2021-03-09 15:19:28 · 725 阅读 · 0 评论 -
vue iview Menu改造为五边形菜单
如下图所示:代码展示:<template> <Row class="shiftView"> <Col class="shiftLeft"> <Menu ref="menuListBoxRef" :active-name="curTab" theme="light" width="auto" @on-select="handleClick" >原创 2021-02-25 10:46:05 · 364 阅读 · 0 评论 -
vue中iframe的应用以及问题
<template> <div> <iframe @load="loadMethod" :src="url"></iframe> <br> <button @click="changeSrc">改变iframe的src为网址,会触发load事件</button> <br> <button @click="changeSrcDown">改变iframe的src原创 2021-02-22 14:52:27 · 1758 阅读 · 0 评论 -
在vue中使用节流和防抖函数
在vue中使用节流和防抖函数防抖(debounce)如果短时间内大量触发同一事件,只会执行一次函数/** 防抖* fn [function] 需要防抖的函数* delay [number] 毫秒,防抖期限值* eg. getCouponMethod: debounce(function() {}, 1000)*/export const debounce = (fn, delay) =>{ let timer = null //借助闭包 return function() {原创 2021-01-26 17:25:40 · 816 阅读 · 2 评论 -
vue中重复设置定时器导致时间加速
场景在函数setTimer中写了一个定时器,之后调用clearTimer清除该定时器,重新调用setTimer,之前设置的1000ms延迟会缩短,导致定时器加速。原因是定时器清除操作并没有将定时器清除,会一直保持运行。<template> <div></div></template><script>export default { methods: { setTimer () { this.timer = setInterv原创 2021-01-20 17:22:10 · 1852 阅读 · 0 评论 -
前端导出或下载无感,不新开窗口
原因:在导出或者下载的功能里常见的就是window.open(’下载的url地址’),但是这样会导出是会新打开一个浏览器窗口,进行下载,在一些场景下是交互不友好的(如web页内嵌入C++的桌面应用)优化:利用iframe代替window.open()方法,通过将下载的url地址变更iframe的src属性来进行下载,当然要将iframe隐藏起来,这样就避免了window.open()方式下载的新开窗口的出现,代码如下:<template> <!-- 用改变iframe的src下载原创 2020-12-25 16:19:52 · 4905 阅读 · 6 评论 -
Vue中select默认选中下拉选项第一条(举例iview AutoComplete组件)
一、html中静态给对应option元素直接添加selected属性<select> <option value="0">one</option> <option value="1">two</option> <option value="2" selected>three</option> </select>动态option加载完成后给对应元素添加selected属性$("selec原创 2020-12-25 14:28:20 · 9796 阅读 · 1 评论 -
vue中使用animate.css,数据改变并运行动效
一、安装在命令行中执行:npm install animate.css --save二、引入import animated from 'animate.css' // 引入animate.cssVue.use(animated)三、一般使用新版本:<div class="animate__animated animate__bounceInLeft"></div>旧版本:<div class="animated bounceInDown">&l原创 2020-12-24 17:04:27 · 1572 阅读 · 2 评论 -
iview Table中自定义数据为空展示
需求:table中暂无数据时展示自定义缺省图和自定义文案分析:先找文档,有相关属性no-data-text 数据为空时显示的提示内容 String 暂无数据但是看了下no-data-text属性支持string类型,之前一直只是改改文案,用着是可以,但是图片加文字可以吗?存在疑问解决:3. 尝试用no-data-text属性加入html代码,(可行,遂不尝试其他方案了)<Table:no-data-text="`<img class='noImgUrl' src=原创 2020-12-21 14:18:10 · 4037 阅读 · 4 评论 -
vue中引用图片
一、template中引用图片1. 直接用<template> <img src="@/assets/images/img.png"> <img src="../../../assets/images//img.png"><template/>2. import引入<template> <img :src="imgUrl"><template/><script> import imgUrl原创 2020-12-21 13:55:10 · 1703 阅读 · 0 评论 -
iview Form验证input右侧loading
问题:修改操作中iview中表单验证,点击submit按钮进行表单验证,input右侧出现loading图标,验证没有反应(没有报错提示)解释:loading的意思是在验证中,在新建操作的表单验证中没有出现该情况,是因为我在修改操作将Number类型的数据回显到input中,填充的数据类型不符合验证规则(默认input验证String类型)导致的解决方案:将回显数据的类型与验证规则中的类型统一,如我这里,将回显的Number类型改为了String类型...原创 2020-11-12 17:00:52 · 1179 阅读 · 0 评论 -
input type=number maxlength无效
问题:input标签type=number时maxlength属性无效解释:通过在MDN上搜索得知maxlength属性是控制value的最大长度(最多字符数目),maxlength属性对于type=password, search, tel, text, url,这五种生效,附上链接解决方案:其实现在很多的ui框架都会做单独的数字输入框,如iview的<InputNumber/>还有oninput事件 当长度超过截取<input type="number" oninput=原创 2020-11-05 22:46:19 · 1574 阅读 · 0 评论 -
iview From表单清除校验状态
<Form ref="addOrUpdateInfoRef" :model="addOrUpdateInfo" :label-width="110" :rules="ruleValidate"> <FormItem label="投放时间" class="ivu-form-item-required"> <FormItem label="" prop="putInTime"> <DatePicker :disabled="addOrUpdat原创 2020-11-05 11:25:26 · 4733 阅读 · 0 评论 -
前端js与C++的交互
1、js调用c++方法js调用c++函数获得一个字符串参数· const result = window.c++_method· js拿到c++传递的resultjs调用c++函数,c++进入回调操作,可传递参数· window.c++_method(data)· c++拿到js传递的data1、c++调用js方法c++调用js函数获得一个字符串参数· window.js_method = “这是一个字符串”· c++拿到js传递的js_methodc++调用js函数,js进入回原创 2020-08-13 09:08:25 · 5891 阅读 · 1 评论 -
windows10 npm install 安装node-sass报错
起因是需要参与一个vue项目,在其现有的基础上开发修改,在windows7的情况下,npm install一切正常,在windows10陆续出现一些状况可能报错的原因有:没有安装python2.7,是因为node-sass需要用到这个环境。解决方案:1.去官网下载https://www.python.org/download/releases/2.7/2.安装成功之后,在环境变量中的系统变量选择安装路径3.执行npm rebuild node-sass 重构一下4.再重新执行npm inst原创 2020-08-04 23:32:17 · 3124 阅读 · 0 评论 -
vue iview table导出excel功能,支持多个sheet
需求:在iview-admin框架中写项目,遇到需要导出excel,并导出多个sheet分析:iview 中table现有的导出Csv不符合要求,需要另外找相关插件结果:用xlsx gitHub:https://github.com/SheetJS/sheetjs步骤:1、安装:npm install --save xlsx2、方法:页面引入 importXLSXfrom'...原创 2019-12-21 11:41:40 · 1304 阅读 · 2 评论