网站地图    收藏   

主页 > 前端 > vue教程 >

简单学习5种处理Vue.js异常的方法

来源:自学PHP网    时间:2019-07-23 15:24 作者:小飞侠 阅读:

[导读] 简单学习5种处理Vue.js异常的方法...

错误大全

Hello, {{name}}

完整代码。

Hello, {{name2}}

完整代码。

完整代码。
Vue的文档中竟然没有介绍异常处理的章节。

  • warnHandler
  • window.onerror (不仅仅针对Vue)
    Vue.config.errorHandler = function(err, vm, info) {
    }
    
    Vue.config.errorHandler = function(err, vm, info) {
    console.log(`Error: ${err.toString()}\nInfo: ${info}`);
    }
    
    Error: ReferenceError: x is not defined
    Info: render
    
    Error: ReferenceError: x is not defined
    Info: v-on handler
    Vue.config.warnHandler = function(msg, vm, trace) {
    }
    
    Vue.config.warnHandler = function(msg, vm, trace) {
    console.log(`Warn: ${msg}\nTrace: ${trace}`);
    }
    
    Warn: Property or method 'name' is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.
    Trace:
    (found in )例子1
    例子2
    例子3
    const app = new Vue({
    el:'#app',
    renderError (h, err) {
    return h('pre', { style: { color: 'red' }}, err.stack)
    }
    })示例代码

    当捕获一个来自子孙组件的错误时被调用。此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串。此钩子可以返回 false 以阻止该错误继续向上传播。

    Vue.component('cat', {
    template:`
    

    Cat:

    `, props:{ name:{ required:true, type:String } }, errorCaptured(err,vm,info) { console.log(`cat EC: ${err.toString()}\ninfo: ${info}`); return false; } }); Vue.component('kitten', { template:'

    Kitten: {{ dontexist() }}

    ', props:{ name:{ required:true, type:String } } });
    cat EC: TypeError: dontexist is not a function
    info: render运行实例。

    终极技巧: window.onerror

    window.onerror = function(message, source, line, column, error) {
    }运行实例
    总结

    正如开篇提到,这是我第一次写关于这个主题的文章。我也希望从大家获得反馈,包括评论、建议以及修订意见。我希望大家可以分享自己如何使用的具体事例。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学php网。

    自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

    京ICP备14009008号-1@版权所有www.zixuephp.com

    网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

    添加评论