
Vue
S筱潇S四维Smile
代码搬运工~前端engineer
展开
-
vue draggable 火狐拖拽搜索bug解决
created() { document.body.ondrop = function (event) { event.preventDefault(); event.stopPropagation(); } },原创 2020-12-29 09:44:06 · 592 阅读 · 0 评论 -
mpvue 微信小程序设置背景音乐
在mpvue小程序项目中,设置背景音乐:1、在公共js中设置一个变量,创建背景音乐例,我的是在utils文件下的global.js//背景音乐const bgrAudioContext = wx.createInnerAudioContext();export default { bgrAudioContext:bgrAudioContext}2、根目录下的main.js文件引入global.jsimport Vue from 'vue'import App fro原创 2020-11-30 15:02:29 · 548 阅读 · 0 评论 -
{ parser: “babylon“ } is deprecated; we now treat it as { parser: “babel“ }.
npm run dev 错误提示:{ parser: "babylon" } is deprecated; we now treat it as { parser: "babel" }.项目中找到 \node_modules\vue-loader\lib\template-compiler\index.js//将以下代码if (!isProduction) { code = prettier.format(code, { semi: false, parser: 'babylon' }原创 2020-09-07 16:27:30 · 483 阅读 · 0 评论 -
Uncaught (in promise) Error: Avoided redundant navigation to current location: “/index“. 解决方法
在router.js中加入以下代码就可以const originalPush = Router.prototype.pushRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err)}如果你的改了push还是没有生效,修改路由replace方法,阻止重复点击报错const originalReplace = VueRou原创 2020-09-04 14:18:09 · 3260 阅读 · 0 评论 -
vue中进入详情页记住列表滚动位置keep-alive解决
一、配置路由 keepactice:true { path: '/index', name: 'index', component: index, meta: { keepalive: true // 组件是否需要被保存 } }二、在App.vue页面当中,将需要保存的组件通过路由标签r...原创 2020-01-07 15:45:10 · 833 阅读 · 0 评论 -
vue打包后路径404问题解决方法
1、静态文件路径错误找到config文件夹下的index.js文件修改以下位置assetsPublicPath: './',2、在css中写的background-img的路径出错 需要找到build文件夹下的utils.js,修改以下位置 publicPath:'../../'3、修改build文件夹下的webpack.prod.conf.js 修改以下位置p...原创 2019-11-12 13:58:24 · 3616 阅读 · 0 评论 -
vue 使用this.reload方法刷新页面配置
1.在vue(app.vue文件)里配置:<template> <div> <router-view v-if="isRouterAlive" /> </div></template><script>export default { provide() { //提供reload方法 r...原创 2019-10-08 10:51:22 · 3364 阅读 · 0 评论 -
iview 远程搜索选择器方法使用,选择之后清空选择的项
vue项目中使用iview远程搜索选择器匹配数据,选择之后,提交数据,继续选择。<Select v-model="associatedCode" filterable remote :remote-method="search" ref="relation"> <Option v-for="(item,index) in codeLists" :value="item.o...原创 2019-09-27 17:43:22 · 2316 阅读 · 1 评论 -
Vue脚手架中添加favicon.ico图标失效问题
最近项目中根目录添加favicon.ico,直接在index.html中加入<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /> 这种方法本地能添加成功,打包发布后就不成功,也是郁闷了。。在配置文件修改 build/webpack.dev.conf.js & webpack.pro...原创 2019-09-27 16:55:34 · 1859 阅读 · 1 评论 -
Vue 打包后 vendor.js 体积太大,解决加载速度慢问题
在 Vue 项目中,引入到工程中的所有 js、css 文件,编译时都会被打包进 vendor.js,若是引入的库众多,那么vendor.js文件体积将会相当的大,影响首开的体验。解决方案:将引用的外部 js、css 文件剥离出来,不编译到 vendor.js 中,而是用资源的形式引用,这样浏览器可以使用多个线程异步将 vendor.js、外部的 js 等加载下来,达到首次打开加速的目的。推荐外...转载 2019-09-12 17:41:48 · 6428 阅读 · 1 评论 -
vue-cli 外部引入vue-router报错 Uncaught TypeError: Cannot redefine property: $router
在优化基于vue-cli开发的vue项目中,把vue-router改成外部引入的时候,配置参数: externals: { 'vue': 'Vue', 'vue-router':'VueRouter', 'axios':'axios', },console中提示Uncaught TypeError: Cannot redefine property:...原创 2019-09-12 14:20:38 · 7491 阅读 · 5 评论 -
Vue iview时间组件DatePicker,设置开始时间和结束时间约束
html模板代码:<FormItem label=""> <Row> <Col span="11"> <DatePicker type="date" :options="startTimeOptions" @on-change="startTimeChange" placeho原创 2018-07-09 11:53:32 · 20467 阅读 · 5 评论 -
vue在个组件中给body加样式,或者给父级组件元素加样式
在h5项目中,经常遇到不同组件需要不同背景色,通过vue的生命周期来解决。这组件创建前设置我的样式,销毁之前移除我设置的样式。用以下方式给body添加样式:<script>export default { beforeCreate: function() { document.getElementsByTagName("body")[0].class...原创 2019-03-13 10:09:16 · 6642 阅读 · 0 评论 -
vue.js中H5使用微信摇一摇抽奖,判断摇一摇次数
微信摇一摇抽奖:export default { data() { return { SHAKE_THRESHOLD:4000,//定义一个摇动的值 last_update :0,//定义一个变量保存上次更新的时间 x:0, //定义xyz记录三个轴的数据以及上一次出发的时间 y:0, z:0, last_x :0, las...原创 2019-03-28 11:54:18 · 2717 阅读 · 4 评论 -
vue.js中使用微信扫一扫,解决invalid signature问题
1、点击按钮,实现微信扫一扫功能:<template> <a class="btn" @click="scan">扫一扫</a></template>2、使用config接口注入配置信息,wx.config调用方法如下:(其中appId,timestamp,nonceStr,signature必须从后台获取,传参当前网页的UR...原创 2019-03-28 14:12:37 · 2958 阅读 · 0 评论 -
vue.js高德地图实现热点图
1.在index.html引入高德地图JSAPI <script src="https://webapi.amap.com/maps?v=1.3&key=xxx"></script>2.地图dom<div class="map-container"> <div id="container" style="width:1...原创 2019-04-18 11:32:19 · 4244 阅读 · 0 评论 -
vue项目中使用sass的方法
1.安装sass的依赖包:npm install --save-dev sass-loader//sass-loader依赖于node-sassnpm install --save-dev node-sass2.修改webpack.base.conf.js配置:在build文件夹下的webpack.base.conf.js的rules里面添加配置{ test: /\.s...原创 2019-05-10 17:57:44 · 1002 阅读 · 0 评论 -
[Vue warn]: Duplicate keys detected: '0'. This may cause an update error. found in解决办法
在vue项目中出现以下报错:错误原因:一个template中有两个一样的v-for, key属性冲突导致解决方法:在第二个v-for中, key属性设置一下即可::key="index+1"如下图所示:...原创 2019-05-17 17:31:50 · 29515 阅读 · 3 评论 -
前端路由原理解析和实现
在单页应用如此流行的今天,曾经令人惊叹的前端路由已经成为各大框架的基础标配,每个框架都提供了强大的路由功能,导致路由实现变的复杂。想要搞懂路由内部实现还是有些困难的,但是如果只想了解路由实现基本原理还是比较简单的。本文针对前端路由主流的实现方式 hash 和 history,提供了原生JS/React/Vue 共计六个版本供参考,每个版本的实现代码约 25~40 行左右(含空行)。什么是前...转载 2019-05-23 10:13:46 · 952 阅读 · 0 评论 -
Vue项目中使用ant-design时设置DatePicker日期控件中文显示
默认配置为 en-US,如果你需要设置其他语言,推荐在入口处使用提供的国际化组件,详见:LocaleProvider 国际化。方式一:在组件中单独设置import locale from 'antd/lib/date-picker/locale/zh_CN';<DatePicker locale={locale} />;方法二:全局设置注意:DatePick...原创 2019-06-12 15:16:41 · 17887 阅读 · 10 评论 -
Vue关于axios跨域问题的解决
1、在项目根目录config文件夹下找到index.js2、修改index.js中proxyTable{}内容:proxyTable: { '/api': { target: 'http://192.168.199.190:9998',//设置你调用的接口域名和端口号 别忘了加http changeOrigin: true, ...原创 2019-06-27 18:01:43 · 576 阅读 · 0 评论 -
Vue 使用clipboard复制文本信息
1、安装clipboardnpm install clipboard --save2、引入clipboard(1)全局引入,在main.js引入import clipboard from 'clipboard';//注册到vue原型上Vue.prototype.clipboard = clipboard;(2)在某个组件中使用时引用import Clipboard...原创 2019-06-27 18:42:53 · 733 阅读 · 0 评论 -
Warning: Each record in table should have a unique `key` prop,or set `rowKey` to 解决方法
在vue项目中,使用vue.ant.design中的Table组件会出现一下报错:列表中的每个记录应该有唯一的“key”支持,或者将“rowKey”设置为唯一的主键。方法一:对数据进行处理,加入key的键值对data.forEach((item, index) => { item.key = index + 1; })方法二:设置rowKey<a-t...原创 2019-07-11 23:32:24 · 4230 阅读 · 0 评论 -
JS报错:Uncaught(in promise)DOMException:play()
在Chrome中页面首次加载的时候有事会出现以上报错:Uncaught(in promise)DOMException:play()处理方法:设置浏览器参数打开谷歌地址输入chrome://flags/#autoplay-policy修改为 No user gesture is requiredlet audio = document.querySelector("#a...原创 2019-08-19 23:27:05 · 7200 阅读 · 0 评论 -
vue-router 设置路由在新窗口打开页面
一.<router-link>标签实现新窗口打开:官方文档中说 v-link 指令被 <router-link> 组件指令替代,且 <router-link> 不支持 target="_blank" 属性,如果需要打开一个新窗口必须要用<a>标签,但事实上vue2版本的 <router-link> 是支持target="_bla...原创 2019-08-27 21:57:24 · 3111 阅读 · 0 评论 -
vue项目中input框默认获得焦点,回车选中输入文本
项目中遇到的需求:输入框默认获取焦点,回车后选中文本信息<input ref="code" type="text" @keyup.enter="enterPress()" v-model="code"/>export default { data() { return { code:'', } }, m...原创 2019-09-05 14:12:11 · 3363 阅读 · 0 评论 -
Swiper 在vue中的使用,loop=true获取真实index,数据更新刷新初始化swiper
1.安装npm install swiper --save-dev2.在组件中引用import Swiper from "swiper"import 'swiper/dist/css/swiper.css';3.初始化swipernew Swiper('.swiper-container', { pagination: '.swiper-pagination', ...原创 2019-03-12 10:32:59 · 6287 阅读 · 1 评论 -
vue中使用html2canvas方法,设置背景,字体重叠问题解决方法
1.安装npm install html2canvas --save2.引入import html2canvas from 'html2canvas'3.在组件中使用的方法createImg(){ let dom = document.getElementById("card"); //要转化的div let width = dom.offsetWidth;...原创 2019-03-11 17:17:56 · 8679 阅读 · 1 评论 -
vue 路由参数变化,页面不刷新(数据不更新)解决方法
路由参数改变,页面数据不更新解决方法:http://localhost:8080/#test?id=1http://localhost:8080/#test?id=2,参数切换后,数据未更新以下为解决办法:监听路由变化,若参数不相同,则重新加载数据,更新视图:watch: { '$route' (to, from) { //监听路由是否变化 if(to.quer...原创 2019-03-10 20:49:23 · 14766 阅读 · 3 评论 -
Vue router-link 两种传参方法及参数的使用
1.路径:http://localhost:8080/#/detail?detail_id=1<router-link :to="{path:'/detail',query: {detail_id: id}}">跳转</router-link> (id是参数值)js中使用获取参数值:this.$route.query.idjs跳转:this.$r...原创 2018-08-06 17:56:13 · 7960 阅读 · 0 评论 -
Use // eslint-disable-next-line to ignore the next line.解决办法
npm start 启动服务的时候,出现了一下报错:You may use special comments to disable some warnings.Use // eslint-disable-next-line to ignore the next line.Use /* eslint-disable */ to ignore all warnings in a file....原创 2018-10-15 18:32:32 · 30916 阅读 · 7 评论 -
mpvue 初始化微信小程序
第一次接触小程序,为了减少学习成本,选择了基于vue的框架 mpvue官网地址:http://mpvue.com// 全局安装 vue-cli$ npm install --global vue-cli// 创建一个基于 mpvue-quickstart 模板的新项目$ vue init mpvue/mpvue-quickstart my-project// 安装依赖$ c...原创 2018-12-07 17:25:02 · 373 阅读 · 0 评论 -
JavaScript 自定义年月日选择下拉框select选择的日期方法vue实现
JavaScript 自定义选择年月日,需求如下图所示:代码示例如下:<div class="select-box"> <span class="item"> <select v-model="formData.year"> <option v-for="item in year" :value="原创 2019-01-22 10:58:47 · 6029 阅读 · 0 评论 -
Vue 获取验证码60s倒计时方法
HTML: <div class="item"> <input type="text" v-model="phone" placeholder="请输入手机号"></div><div class="item phone-code"> <input type=&原创 2019-01-16 18:34:21 · 995 阅读 · 1 评论 -
vue 引入自定义js方法并调用
自定义common.js公共方法//第一种方法:export 导出函数export function getWinGoods(that,header, params) { return new Promise(function(resolve, reject) { let obj={} let objH={} if(params) { //添加自定义参数 for(let...原创 2019-01-23 10:12:49 · 33649 阅读 · 0 评论 -
Vue 自定义音乐播放器组件为H5添加背景音乐
自定义音乐播放器组件为H5添加背景音乐:1.创建music.vue组件<template> <div> <div @click="changeOn" :class="isOff?'isOff':'isOn'"></div> <audio id="audio" :src="原创 2019-02-19 16:34:18 · 3156 阅读 · 0 评论 -
Vue使用wangEditor 封装成独立组件实现富文本编辑器
1.使用npm安装:npm install wangeditor2.将编辑器封装一个组件,创建editor.vue组件:<template> <div id="editor"></div></template><script> import E from 'wangeditor' export default...原创 2019-02-21 16:37:41 · 5168 阅读 · 1 评论 -
Vue报错'Do not use built-in or reserved HTML elements as component id:解决方法
vue 在引入组件后无法显示组件内容且报错如下 :Do not use built-in or reserved HTML elements as component id这是因为组件的命名和html标签重复导致警告,如下图所示:解决方法:创建组件的时候要注意组件命名与html标签区分开方法一、方法二、...原创 2019-02-25 15:50:58 · 73953 阅读 · 0 评论 -
@vue/cli 3.0 eslint 转成tslint
我们用 vue/cli 创建新项目的时候,通常会选择代码检查工具 [eslint|tslint],有的时候难免会选错,这个时候想要替换,怎么办场景再现vue create lint-vue 为了方便查看,每个选项的结果做了换行, 和原脚本生成排版有一些不同```Vue CLI v3.0.0-rc.3? Please pick a preset: Manually sel...转载 2019-02-26 16:11:48 · 1006 阅读 · 0 评论 -
Vue 报错Error: No PostCSS Config found解决办法
从git上 clone 下来的代码:npm install 安装依赖以后,启动服务,出现Error: No PostCSS Config found报错:npm run dev解决办法:在项目根目录下创建postcss.config.js,配置内容如下:即可修复报错问题。module.exports = { plugins: { 'autopr...原创 2019-02-26 22:00:21 · 13049 阅读 · 1 评论