vue優(yōu)化之優(yōu)雅的拋出錯誤(Error)問題
vue優(yōu)雅的拋出錯誤(Error)
在開發(fā)工程中,往往有些地方需要我們進行錯誤的拋出,
例如:
props傳遞一個參數(shù),我不知道他傳遞的是啥,而我知道我需要啥,所以我們可以在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>總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue打包后dist目錄下的index.html網(wǎng)頁顯示空白的問題(兩種方案)
本文主要介紹了vue打包后dist目錄下的index.html網(wǎng)頁顯示空白的問題,主要介紹了兩種方式,具有一定的參考價值,感興趣的可以了解一下2023-11-11
前端記錄輸入框的歷史輸入記錄實現(xiàn)步驟(輸入框數(shù)據(jù)記憶功能)
這篇文章主要介紹了如何使用localStorage來記錄每個輸入框的歷史輸入記錄,并在用戶輸入時動態(tài)更新這些記錄,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-03-03
vue-cli 目錄結(jié)構(gòu)詳細講解總結(jié)
這篇文章主要介紹了vue-cli 目錄結(jié)構(gòu)詳細講解總結(jié),詳細的介紹了整個項目的目錄以及目錄文件的用法,非常具有實用價值,需要的朋友可以參考下2019-01-01

