
Vue.js
vue常见的一些问题以及常用的知识点!
前端攻城狮路飞
正真的大师永远都怀着一颗学徒的心。
展开
-
video播放视频组件,复制即可用免安装,支持自定义参数
video播放视频组件,复制即可用免安装,支持自定义参数原创 2024-07-31 10:09:32 · 526 阅读 · 0 评论 -
vue使用video播放视频跨域问题“has been blocked by CORS policy: No ‘Access-Control-Allow-Origin
起因:项目需要加一个视频播放功能,线上资源和网页url不是一个域名,导致跨域了无法播放,报错。我真的服了,网上答案十个九个都是错的,那些人发出来的东西自己都不验证一下吗,多了一个 i 让我好找啊,最后还是解决了,如果你用crossOrign无法解决就把 i 加上吧,我也不知道什么原因,反正的我不加 i 就可以播放了,记录一下这个大坑。注意:是crossOrign=“anonymous”,不是crossOrigin=“anonymous”原创 2024-07-31 09:57:55 · 1641 阅读 · 0 评论 -
vue启动配置npm run serve,动态环境变量,根据不同环境访问不同域名
scripts里面就是我们的运行配置,当我们执行npm run dev的时候就会读取env.dev文件里面的配置,其他同理,需要运行test环境就用test,最后是我们的接口请求配置文件,request.js,import.meta.env.VITE_APP_BASE_UR这个就是引用env文件里面的域名了。env.dev就是dev环境的域名,.test就是test环境域名,其他同理,然后配置package.json文件。首先创建不同环境的配置文件,比如域名和一些常量,创建一个env文件,先看看文件目录。原创 2023-08-17 17:15:10 · 1872 阅读 · 0 评论 -
vue大数据表格上万条数据,树型表格,解决el-table表格数据量过大渲染卡死的问题,使用umy-ui的大数据表格虚拟表格虚拟滚u-table解决。
vue大数据表格上万条数据,树型表格,解决el-table表格数据量过大渲染卡死的问题,使用umy-ui的大数据表格虚拟表格虚拟滚u-table解决。,先看看效果吧,拿实例说话,直接渲染四万多条数据不分页,树形表格可以展开。原创 2022-09-19 14:30:27 · 7684 阅读 · 0 评论 -
Cannot create property ‘xxx参数名‘ on string 这个问题结局办法
Cannot create property 'xxx参数名' on string 这个问题结局办法,前端开发,vue开发中遇到的小问题原创 2022-07-13 11:48:37 · 28432 阅读 · 0 评论 -
js锚点跳转添加过度动画,vue锚点跳转js添加平滑过度效果
js锚点跳转添加过度动画,vue锚点跳转js添加平滑过度效果原创 2022-05-12 11:08:38 · 2267 阅读 · 0 评论 -
vue实现锚点定位跳转,a标签实现锚点定位跳转
先看一下效果图,点击右侧导航栏,左侧显示相应的版块内容 a标签锚点定位跳转 看代码,我这里用的循环,原理很简单,a标签绑定需要跳转到内容div的id,每一个内容div绑定一个唯一id,即可实现点击跳转 <!-- 右侧悬浮导航栏 --> <div v-for="(item,indext) in fixList" :key="indext">原创 2022-05-10 10:14:05 · 2440 阅读 · 0 评论 -
VUE经典面试题2022年,面试常用题
v-for为什么要加key 值?vue组件高度复用增加Key可以标识组件的唯一性,为了更好地区别各个组件,key的作用主要是为了高效的更新虚拟DOM。v-if和v-for 不能同用的原因?当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级,这意味着 v-if 将分别重复运行于每个 v-for 循环中,所以不推荐v-if和v-for同时使用,可以把list放在计算属性中遍历v-model的实现原理是什么?v-model主要提供了两个功能,view层输入值影响data原创 2022-03-30 17:28:15 · 4961 阅读 · 3 评论 -
vue开发项目前端axios请求跨域解决方案
话不多说,直接上代码,跨域的问题一般只存在本地开发的时候,生产环境下一般是不存在跨域的,如果有,那也是后端去解决,开发时遇到跨域,要莫找后端处理,另一种就是前端配置代理请求解决:vue.config.js的配置如下,主要是proxy里面的配置module.exports = { lintOnSave: false, devServer: { overlay: { warning: false, errors: false }, open: true原创 2021-12-09 10:21:55 · 1274 阅读 · 0 评论 -
vue项目生成微信支付二维码(web端),其他二维码也可以生成
第一步引入第三方插件:npm install –save qrcodejs2第二步,在vue页面中引用:<template> <h2>微信扫码支付</h2> <div id="qrcode"></div></template><script>import QRCode from 'qrcodejs2'export default { data() { return { } },原创 2021-11-17 16:11:37 · 4573 阅读 · 6 评论 -
vue项目修改浏览器顶部的标题和图标!
看一下实现的效果:代码奉上:<link rel ="shortcut icon" type="image/x-icon" href="./logo.png"><title>海行后台</title>直接找到index.html把文件修改一下即可解决,如果没显示就刷新或者从新运行一下项目:项目目录如下:...原创 2021-10-14 10:50:04 · 1697 阅读 · 3 评论 -
vue-cli3关闭eslint语法校验,无效我吃shi!
别急着划走,看看我的顺序,我之前就是顺序放错了,项目启动不了,复制粘贴到vue.config.js文件即可module.exports = { lintOnSave: false, devServer: { overlay: { warning: false, errors: false } }}...原创 2021-09-03 10:32:50 · 1335 阅读 · 6 评论 -
vue-router的使用,以及路由守卫的使用,复制直接用!
vue-router的使用,以及路由守卫的使用,复制直接用!import Vue from 'vue' // 引入VUE实例import VueRouter from 'vue-router' // 引入vue路由Vue.use(VueRouter) // vue实例调用路由const routes = [ // 配置路由 { path: '/', // 进入系统首次加载的路由 一般都是登录页面 redirect: { name: 'Customer'...原创 2021-02-02 12:08:50 · 1085 阅读 · 1 评论 -
vue之v-show和v-if的使用场景以及开发使用遇到的坑!
先来说一下v-show和v-if最本质的区别,v-if是直接销毁DOM,从虚拟树直接移除,需要的时候在创建从新挂载,而v-show是通过css样式display:none来隐藏与显示DOM,使用场景就是需要频繁的切换显示和隐藏的话优先v-show,如果模板调用比较少,则可以选v-if,道理不必多说,频繁的创建移除dom肯定有损性能,不经常调用就在关闭的时候销毁,这样也可以减少dom树,提高性能。开发中遇到的坑:1.如果你使用的模板用prop传了参数,建议使用v-show,我今天就遇到了这个问题,用v-i原创 2021-01-26 16:28:55 · 735 阅读 · 1 评论 -
vue项目中创建全局class样式类并使用!
首先我们在src文件里面新建一个style文件夹,根据个人习惯来,放在assets文件夹下面也可以,然后在创建一个index.scss文件,如下图接下来就是添加class样式了,简单添加几个,如下图接下来是引入全局样式引入后就可以在页面中任何地方随意调用了,使用方法如下图,直接调用...原创 2021-01-22 17:03:22 · 2328 阅读 · 2 评论 -
彻底帮你搞明白vue计算属性computed和methods的区别
先来一段代码,我们分别声明一个methods方法newName(),computed新增一个计算属性newNames,然后分别在页面中调了各四次,我们来看一下打印结果:如下图可以看到计算属性newNames只被执行了一次,这就是computed的好处,他是具有缓存性的,当计算第一次结果后会存入缓存,第二次调用该计算属性的时候,他会先读取需要返回的结果是否发生改变,如果没有就直接返回缓存的结果,如果改变了才会从新计算,而method就不会,直接执行了四次,所以处理效率上面不用多说,你明白了吗,合理的利用计原创 2020-12-23 17:57:16 · 439 阅读 · 1 评论 -
vue动态绑定style样式,以及简单的运算三运运算符的使用
<div class="item" v-for="(item,index) in dataList" :key="index"> <div :style="{background:item.value ? '#FFFFFF' : '#000000'}"> </div></div>以上是一个简单的循环列表,根据每一项不同的的value值来显示对应的颜色...原创 2020-12-11 15:45:58 · 1137 阅读 · 0 评论 -
Vue开发循环数据列表绑定的数据,数据列表发生变化页面没有重新渲染的问题解决办法!
这个坑我已经踩过三次了,今天才来写,虽然是个小bug,但我希望能帮到正在踩坑的你,看一段代码: <el-input v-for="(item, index) of dataList" :key="index" :value="item.value" />这只是个实例,element输入框,dataList是循环的input框,每一个input有一个指定的id,不一样,然后循环出来的数据,我们会发现,改变了其中某一个的值其他的值会跟着原创 2020-09-15 14:54:36 · 1128 阅读 · 0 评论 -
wangEditor 上传本地视频和图片到oss服务器并在富文本回显。
不多说直接上代码,无效你顺着网线来打我:第一步:找到wangEditor.js文件,一下代码直接全选复制,到wangEditor.js文件里面Ctrl+A 在Ctrl+V全部替换掉,这个我已经改好了,不用你再去找什么方法改指定的地方了,然后执行第二步:(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(原创 2020-08-28 18:05:54 · 5500 阅读 · 4 评论 -
如何搭建Vue开发环境以及创建一个vue项目到运行全过程简单易懂!
第一步:安装Node.js和npm官网下载:https://nodejs.org/en/download/下载好了安装一直点就好了,npm不要再次安装,node安装包里面自带的有,安装完成在cmd 命令输入 node -v npm -v 回车查看,如下图看到版本号即为安装成功。 第二步: 安装cnpmcnpm和npm的区别就在于下载路径不一样,cnpm走的是国内下载路径,很快,但npm 走的是国外的,下载速度要慢很多,建议使用cnpm但不是必须使用,安装直接在cmd命令里面继续输入原创 2020-08-26 10:57:19 · 5617 阅读 · 4 评论 -
vue页面切换后页面不刷新数据不重置怎么解决。
两个方法结决this.$forceUpdate()直接在钩子函数里面吊用,或者通过refs属性再目的页面调用自定义重置方法吧需要重置的data数据全部写在一个方法里,进到页面调用此方法即可原创 2020-06-18 19:10:42 · 2820 阅读 · 0 评论 -
vue计算属性watch和computed的区别
computedcomputed适合处理的场景是,一个数据属性在它所依赖的属性发生变化时,也要发生变化,这种情况下,我们最好使用计算属性,computed是带缓存的,只有其引用的响应式属性(属性绑定)发生改变时才会重新计算(如果引用的属性没有改变,则调用上一次缓存值)watchwatch适合处理的场景是,侦听一个数的变化,当该数据变化,来处理其他与之相关数据的变化(该数据影响别的多个数据)=...原创 2020-03-17 12:53:34 · 241 阅读 · 0 评论 -
怎么创建vue项目,用vue-cli(脚手架)+ webpack搭建vue项目,cnpm的安装以及node的安装全!
准备 :安装 node.js 通过node自带的npm(包管理工具)下载 vue-cli脚手架 并安装 官网下载node: https://nodejs.org/en/download/下载所需操作系统对应的安装包 双击安装即可 安装成功后: Linux/unix 打开终端 Win 进入cmd 输入:node -v 命令,出现版本号既安装成功安装淘宝镜像(使用cnpm) npm install -g cnpm --registry=https://registry.npm.tao原创 2020-05-27 19:04:51 · 251 阅读 · 0 评论 -
vue父组件通过$refs调用子组件方法时报undefined的问题?
今天用vue写项目,用$refs调用子组件方法遇到这样的问题,如下图:大概就是这样子的问题,在网上查了很多资料,终于解决了,解决办法就是这样:出现这个问题的原因主要是在vue还没进行加载完方法的时候就开始进行执行组件方法就会报这个错误,解决的办法很简单,只要在让方法在vue加载完组件之后再进行执行就好了!希望对你有帮助...原创 2020-06-01 16:54:20 · 8499 阅读 · 4 评论 -
什么是Vue全家桶,Vue全家桶包含哪些东西以及怎么使用
vue全家桶介绍:vue全家桶是基于vue开发必备的也是必学的东西,概括起来就是:、1.项目构建工具、2.路由、3.状态管理、4.http请求工具。最常见常用的vue全家桶简单的介绍一下,希望可以帮助你了解认识学会vue全家桶!1.vue-clivue-cli就是快速创建搭建一个vue项目的脚手架工具,安装vue-cli,直接在cmd命令执行:npm install -g vue-cli(安装的cnmp直接把npm改一下就可以),之后需要填写一些项目信息,不会的可以去网上搜一下。2.vue-rou原创 2020-05-14 18:57:54 · 39448 阅读 · 2 评论 -
vue绑定的数据发生了变化页面显示没有刷新解决办法!
在vue开发的时候最常遇到的问题就是我们通过methodsethods里面的方法改变了data里面数据的值,我们发现在js里面这个数据已经改变了,但页面渲染数据时却还是之前的状态,这个问题最常见的解决方案:方案一:深浅拷贝数据赋值时发生了问题深浅拷贝不多讲了,不懂得可以去看下面这篇文章或者自己先去学习了解一下:JavaScript深浅拷贝最简单的例子let arr = this.dataListjs逻辑处理完arr后在this.dataList = arr给dataList赋值;这样虽然确实改变原创 2020-08-04 09:55:58 · 3299 阅读 · 0 评论 -
vue绑定键盘事件enter,ctrl+enter,alt+enter以及其他组合键的使用。
最近项目需要im在线聊天功能,消息发送enter键,换行ctrl+enter,找了很多资料才解决,结合自己理解也扩展了一些内容,希望可以帮大家解决问题:下面是HTML代码<el-input @keydown.enter.native="keyDown" type="textarea" :rows="4" class="text-input" placeholder="请输入内容" v-model="textarea"></el-input>下面是js代原创 2020-07-30 18:23:52 · 8382 阅读 · 7 评论 -
vue input绑定ctrl+enter键盘事件,亲测绝对有用!
最近项目需要im在线聊天功能,消息发送enter键,换行ctrl+enter,找了很多资料才解决,解决问题的小伙伴可以点个赞,感谢感谢:直接看代码;<el-input @keydown.enter.native="keyDown" type="textarea" :rows="4" class="text-input" placeholder="请输入内容" v-model="textarea"></el-input>我用的element组件,这个不影原创 2020-07-30 18:13:17 · 3916 阅读 · 3 评论 -
前端vue开发写js到底需不需要以 ; 结尾。
这个问题看个人习惯了,裸奔很爽而且看了舒服,就是大家说的可读性高,如果项目就你一个人开发的话看个人习惯就好,如果团队开发还是统一一下风格比较好,别一个团队写出千军万马就难搞了。其实要不要分号都不影响程序执行对于vue来说,但对于原生js的话还是带上分号比较好,因为大巴压缩后没有分号的话,有可能会上下两行代码当一个程序执行,但vue就不存在这个问题了,下面给两个图,自己比较一下吧————end…...原创 2020-07-14 11:37:24 · 2876 阅读 · 0 评论 -
前端递归循环部门树,根据pid找下级,无限遍历。
今天遇到一个奇葩事请,需要获取部门树,按道理因该是后端直接返回一个树状直接给我的,但是他只返回一个Array数组,让我根据pid找下级,自己组一个树状的,来就来,谁怕谁,直接上代码:这是后端返回的数据格式: [ {id: 1, organizationId: 1, name: "有限公司", pid: 0} {id: 2, organizationId: 1, name: "键管部", pid: 1} {id: 3, organizationId: 1, name: "技术部", pid:原创 2020-07-07 18:43:31 · 1696 阅读 · 1 评论 -
纯css重写单选radio多选CheckBox样式,选中取消选中自定义。
好了先看看实现后的效果吧,样式可以自定义修改的,代码很容易看懂,新手都可以用;上面是选中状态,下面是未选中状态,支持反选多选取消选中,看下面代码:<!-- HTML部分 --><div class="checkbox"> <input type="checkbox" id="checkbox1"/> <label for="checkbox1"><span class="icons"></span></labe原创 2020-06-17 16:21:44 · 860 阅读 · 0 评论 -
前端axios请求接口跨域报错怎么解决?
axios+vue项目请求跨域:has been blocked by CORS policy: Response to preflight request doesn’t pass前端请求接口报错401/402/403怎么解决!最直接有效的解决方法就是直接叫后台开启跨域,前端解决跨域虽然有办法,但是难保上线不出问题,如果只是本地开发环境用的话可以配置反向代理,重写api/,或者配置请求头,Ajax就用jsonP啦,所以前端不用为难自己,接口问题找后端就行了!...原创 2020-06-16 10:04:24 · 2700 阅读 · 0 评论