繁花似锦觅安宁,淡云流水度此生。
缘深缘浅随它去,花开花落总归尘。

VUE、JS之 记录一些工作中遇到的小问题,持续更新~

开个帖记录一些工作中遇到的问题吧,很多都是因为没有注意到,或者基础薄弱导致的~

问题1:

现象:使用vue时控制台报错 handler.apply is not a function

原因: vue 的data中定义的属性名与 methods 中的方法重名

 问题2:

现象:使用elementui的表单时,需要对某个字段做自定义校验,这个字段的校验函数中又可能涉及到多个字段。

如下:错误写法,一个正则运用到两个字段上,校验始终都不会通过(value 为输入的值, num为需要同时校验的另一个值)

checkTwoFileds (rule, value, callback) {
    let reg = /^[1-9]\d*$/g
    if (!reg.test(value)) {
        callback(new Error('必须输入正数'))
    }
    if (!reg.test(this.num)) {
        callback(new Error('必须输入正数'))
    }
    callback()
},

需要:定义两个一样的正则,分别运用到不同的字段上(value 为输入的值, num为需要同时校验的另一个值),方可正确校验

checkTwoFileds (rule, value, callback) {
    let reg = /^[1-9]\d*$/g
    let reg1 = /^[1-9]\d*$/g
    if (!reg.test(value)) {
        callback(new Error('必须输入正数'))
    }
    if (!reg1.test(this.form.num)) {
        callback(new Error('必须输入正数'))
    }
    callback()
},                

 问题3

现象:使用elementui 表格时,有一种实际场景,一个页面下有两个tab,每个tab下都有一个表格,但是又不想写两个表格,所以就用v-if来显示或隐藏某些列。

需要:最好给每个列都给定一个唯一的key值,否则会出现v-if的那列数据和前后两列的数据产生混乱错误

 问题4

现象:当系统打开了一个网页放着,在这期间如果有版本更新(部署代码),再去点击这个网页会报请求服务器资源404(重新打包后原文件可能被更改删除)

需要:路由监听错误,当错误时刷新当前页(资源重载)

import VueRouter from 'vue-router'
const router = new VueRouter({
    mode: 'hash',
    base: '/',
    routes, // 定义的路由数据
})
// 捕获异常情况
router.onError((error) => {
    window.location.reload()
})

问题5

现象:使用router.push跳转页面,跳转失败,不管怎么点击都是变成刷新当前页面

原因:其实就是要跳转的那个页面代码出错了(有时候编译不会报错,要认真地去找下,比如我知道这个就是因为一个引入的js没有引入到....)

问题6

现象:表单不见了!在最新版的谷歌浏览器,edge浏览器上都复现出了这个问题,在获取数据后再渲染表单,但是这时候会发现页面上的表单元素都不展示了(控制台看dom元素还在.......,就是这么神奇)

原因:同时使用了v-if和组件库的v-loading,把v-loading去掉就好了(原因还是不知道的)

持续更新~ 小伙伴们有问题也可以补充哈~

posted @ 2021-08-13 17:30  良人非良  阅读(111)  评论(0编辑  收藏  举报