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中简单弹框dialog的实现方法

    vue中简单弹框dialog的实现方法

    下面小编就为大家分享一篇vue中简单弹框dialog的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • 在React和Vue中使用Mock.js模拟接口的实现方法

    在React和Vue中使用Mock.js模拟接口的实现方法

    本文将介绍如何在React和Vue项目中使用Mock.js来模拟接口拦截请求,帮助开发者在不依赖后端的情况下高效地进行前端开发,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-08-08
  • vue element修改el-select控件长度style=“width:XXpx“不生效的解决

    vue element修改el-select控件长度style=“width:XXpx“不生效的解决

    这篇文章主要介绍了vue element修改el-select控件长度style=“width:XXpx“不生效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 详解Vue中的scoped及穿透方法

    详解Vue中的scoped及穿透方法

    这篇文章主要介绍了Vue中的scoped及穿透方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • vue3如何加载本地图片等静态资源浅析

    vue3如何加载本地图片等静态资源浅析

    在最近新起的项目中,用到了较新的技术栈vue3.2+vite+ts,跟着网上的写法渐渐上手了,下面这篇文章主要给大家介绍了关于vue3如何加载本地图片等静态资源的相关资料,需要的朋友可以参考下
    2023-04-04
  • vue和H5 draggable实现拖拽并替换效果

    vue和H5 draggable实现拖拽并替换效果

    这篇文章主要为大家详细介绍了vue和H5 draggable实现拖拽并替换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • Vue项目中实现无感Token刷新的示例

    Vue项目中实现无感Token刷新的示例

    在前端项目中,Token用于用户认证和权限管理,文章介绍了在Vue项目中实现Token的无感刷新,包括Token刷新的原理、拦截器的应用和处理Token过期的方法,感兴趣的可以了解一下
    2024-11-11
  • vue3.0 CLI - 2.6 - 组件的复用入门教程

    vue3.0 CLI - 2.6 - 组件的复用入门教程

    这篇文章主要介绍了 vue3.0 CLI - 2.6 - 组件的复用,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2018-09-09
  • el-tree的实现叶子节点单选的示例代码

    el-tree的实现叶子节点单选的示例代码

    本文主要介绍了el-tree的实现叶子节点单选的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Vue3初探之ref、reactive以及改变数组的值

    Vue3初探之ref、reactive以及改变数组的值

    在setup函数中,可以使用ref函数和reactive函数来创建响应式数据,下面这篇文章主要给大家介绍了关于Vue3初探之ref、reactive以及改变数组值的相关资料,需要的朋友可以参考下
    2022-09-09

最新评论