vue优化之优雅的抛出错误(Error)问题

 更新时间:2024年03月06日 09:37:36   作者:勇敢小陈  
这篇文章主要介绍了vue优化之优雅的抛出错误(Error)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue优雅的抛出错误(Error)

在开发工程中,往往有些地方需要我们进行错误的抛出,

例如:

props传递一个参数,我不知道他传递的是啥,而我知道我需要啥,所以我们可以在props中通过检验方法进行错误的抛出,

但可能抛出的问题不够直观所以导致排除困难,这个时候手动定义一个异常错误抛出是明智的选择。

例如

父组件

<template>
  <div>
    <hello-world :name="name" :age="age"></hello-world>
  </div>
</template>
 
<script>
import HelloWorld from '@/components/HelloWorld.vue'
 
export default {
  name: 'HomeView',
  components: {
    HelloWorld
  },
  data(){
    return {
      name:'小陈',
      age:18
    }
  }
}
</script>
 
<style>
 
</style>

子组件

<template>
  <div>{{name}}{{age}}</div>
</template>
 
<script>
export default {
props:{
  "name": {
		type: String,
		default:  'text',
		validator(value) {
     return ['小陈1', 'number','letter'].indexOf(value) > -1
		}
 	},
  age:Number
},
methods:{
  aa(){
    return new Error('5555')
  }
}
}
</script>
 
<style>
 
</style>

报错

虽然报错了,也知道校验失败,但排查起来不一定容易,我知道错了,但我应该给你什么呢?

这个时候我们就可以通过抛出错误来解决

通过throw  new Error进行报错处理或通过console.error()进行报错处理都可以

<template>
  <div>{{name}}{{age}}</div>
</template>
 
<script>
export default {
props:{
  "name": {
		type: String,
		default:  'text',
		validator(value) {
      if(!['小陈1', 'number','letter'].indexOf(value) > -1){
       throw  new Error(`${value}不属于'小陈1', 'number','letter'中的任意值`)
      }
			 
		}
 	},
  age:Number
},
methods:{
  aa(){
    return new Error('5555')
  }
}
}
</script>
 
<style>
 
</style>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在Vue组件中使用 TypeScript的方法

    在Vue组件中使用 TypeScript的方法

    typescript不仅可以约束我们的编码习惯,还能起到注释的作用,当我们看到一函数后我们立马就能知道这个函数的用法。这篇文章主要介绍了在Vue组件中使用 TypeScript的方法,需要的朋友可以参考下
    2018-02-02
  • 对vux点击事件的优化详解

    对vux点击事件的优化详解

    今天小编就为大家分享一篇对vux点击事件的优化详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Vue如何进行数据代理

    Vue如何进行数据代理

    这篇文章主要介绍了vue如何进行数据代理,通过本文学习我们了解如何代理的及验证两条线的问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • vue路由跳转后刷新指定页面的方法

    vue路由跳转后刷新指定页面的方法

    这篇文章主要介绍了vue路由跳转后刷新指定页面的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • vue打包后dist目录下的index.html网页显示空白的问题(两种方案)

    vue打包后dist目录下的index.html网页显示空白的问题(两种方案)

    本文主要介绍了vue打包后dist目录下的index.html网页显示空白的问题,主要介绍了两种方式,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • 前端Vue项目部署到服务器的全过程以及踩坑记录

    前端Vue项目部署到服务器的全过程以及踩坑记录

    使用Vue做前后端分离项目时,通常前端是单独部署,用户访问的也是前端项目地址,因此前端开发人员很有必要熟悉一下项目部署的流程,下面这篇文章主要给大家介绍了关于前端Vue项目部署到服务器的全过程以及踩坑记录的相关资料,需要的朋友可以参考下
    2023-05-05
  • 又一款MVVM组件 构建自己的Vue组件(2)

    又一款MVVM组件 构建自己的Vue组件(2)

    这篇文章主要为大家分享了一款MVVM组件,构建自己的Vue组件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 前端记录输入框的历史输入记录实现步骤(输入框数据记忆功能)

    前端记录输入框的历史输入记录实现步骤(输入框数据记忆功能)

    这篇文章主要介绍了如何使用localStorage来记录每个输入框的历史输入记录,并在用户输入时动态更新这些记录,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • vue-cli 目录结构详细讲解总结

    vue-cli 目录结构详细讲解总结

    这篇文章主要介绍了vue-cli 目录结构详细讲解总结,详细的介绍了整个项目的目录以及目录文件的用法,非常具有实用价值,需要的朋友可以参考下
    2019-01-01
  • Vue之props 配置详解

    Vue之props 配置详解

    这篇文章主要为大家介绍了Vue之props 配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助,希望能够给你带来帮助
    2021-11-11

最新评论