vue優(yōu)化之優(yōu)雅的拋出錯誤(Error)問題
vue優(yōu)雅的拋出錯誤(Error)
在開發(fā)工程中,往往有些地方需要我們進行錯誤的拋出,
例如:
props傳遞一個參數(shù),我不知道他傳遞的是啥,而我知道我需要啥,所以我們可以在props中通過檢驗方法進行錯誤的拋出,
但可能拋出的問題不夠直觀所以導(dǎo)致排除困難,這個時候手動定義一個異常錯誤拋出是明智的選擇。
例如
父組件
<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>
報錯
雖然報錯了,也知道校驗失敗,但排查起來不一定容易,我知道錯了,但我應(yīng)該給你什么呢?
這個時候我們就可以通過拋出錯誤來解決
通過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)更新這些記錄,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03vue-cli 目錄結(jié)構(gòu)詳細(xì)講解總結(jié)
這篇文章主要介紹了vue-cli 目錄結(jié)構(gòu)詳細(xì)講解總結(jié),詳細(xì)的介紹了整個項目的目錄以及目錄文件的用法,非常具有實用價值,需要的朋友可以參考下2019-01-01