自由学者× 2024-03-12 15:55 采纳率: 0%
浏览 56

Uncaught runtime errors:

Uncaught runtime errors:
Error:
Cannot set properties of null (setting 'type')
TypeError: Cannot set properties of null (setting 'type')
    at main_Notification.<computed> [as error] (webpack-internal:///./node_modules/element-ui/lib/element-ui.common.js:2947:1397)
    at eval (webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/views/login/Login.vue?vue&type=script&lang=js:50:28)


  • 写回答

3条回答

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-12 15:56
    关注

    引自免费微信小程序:皆我百晓生

    从错误信息来看,你正在使用Vue.js结合Element UI开发项目,并且在运行过程中遇到了一个Uncaught runtime error。具体错误是TypeError,提示“Cannot set properties of null (setting 'type')”,错误发生在main_Notification对象的error方法中,源码位置在element-ui.common.js的第2947行附近。

    这个错误通常表示试图在一个null值的对象上设置属性(在这个场景下是'type'属性),但在执行时该对象并未初始化或为空。

    解决这个问题需要从以下几个方向排查:

    1. 检查调用error方法的地方: 在你的Vue组件src/views/login/Login.vue的脚本部分第50行附近,查看是否正确实例化了main_Notification或者相关的Element UI Notification组件。确保在调用.error()方法前,目标对象已经被正确创建和初始化。

      示例:

      import { MessageBox, Notification } from 'element-ui';
      
      // 确保在使用之前已导入并实例化
      if (Notification) {
        Notification.error({
          message: '错误信息',
          type: 'error', // 如果type是在这里设置的,请确认上下文
        });
      }
      
    2. 确保依赖正确加载: 检查Element UI是否已通过import语句正确地引入到项目中,并且在项目的全局或局部配置中被注册为Vue插件。

    3. 检查变量作用域: 确认在尝试设置type属性的对象在其作用域内是可以访问到的,并非undefined或null。

    如果问题仍然存在,请提供更多关于如何触发此错误行为的上下文代码,以便我能提供更精确的解决方案。

    评论 编辑记录
  • 关注

    自由学者× 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    这个错误是一个运行时错误,错误信息是“Cannot set properties of null (setting 'type')”。 出错的代码位于Element UI库中的element-ui.common.js文件的第2947行和第1397列。 错误发生在Login.vue文件的第50行和第28列。

    出现这个错误的原因是试图在null对象上设置属性。 在设置'type'属性时,出现了这个错误。

    解决这个错误的方法有以下几种:

    1. 检查代码中是否有使用null对象进行属性设置的地方。 确保在设置属性之前,对象不为null。 如果有可能,使用条件语句来处理可能为null的情况,或者在使用之前对对象进行检查。

    2. 检查element-ui库的版本是否正确。 如果使用的是旧版本的element-ui库,可能存在该问题的已知错误。 尝试更新到最新版本,看看是否能解决问题。

    3. 检查Login.vue文件的第50行和第28列的代码。 确保在这里没有错误或遗漏的代码。 你可以尝试对代码进行调试,查找导致这个错误的原因。

    4. 如果以上方法都无效,可以尝试向element-ui库的开发者报告这个问题。 他们可能会提供更详细的解决方案或修复该问题的版本。

    修复后的代码:

    main_Notification.error({
      title: 'Error',
      message: 'Cannot set properties of null (setting \'type\')'
    })
    

    希望这些解决方案能够帮助你解决这个错误。 如有任何疑问,请随时提问。

    评论
  • GISer Liu 2024-03-12 17:51
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    根据您提供的错误信息,出现了一个未捕获的运行时错误,报错信息为 "Cannot set properties of null (setting
    'type')",这是一个类型错误(TypeError),意味着代码中尝试对 null 对象设置属性,但是 null 对象无法设置属性。
    错误发生在您的代码中的两个地方:

    1. element-ui 库的 element-ui.common.js 文件的 2947 行 1397 列处。
    2. Login.vue 组件中的某个地方,根据报错信息显示是在第 50 行 28 列。
      针对这个问题,我会首先检查您的代码中涉及到的与 type
      属性相关的操作,特别是对于可能为空的对象的操作。通常情况下,这种错误发生的原因是由于某些代码逻辑假定了某个对象不为空,但实际情况下为空了。
      解决这个问题的思路是:
    3. 检查代码中与 'type' 属性相关的操作: 在报错的位置附近检查代码,确认是否存在对某个对象的 'type' 属性进行设置的操作。这可能是您自己编写的代码,也可能是第三方库(如 element-ui)的代码。确保在进行属性设置之前对对象进行了有效性检查,以避免操作空对象。
    4. 查找可能为空的对象: 根据报错信息,检查相关代码中可能为 null 的对象。您可以使用条件语句或可选链操作符(?.)来确保在对象为空时不会进行属性设置操作。
      具体到代码层面,我无法直接提供修改建议,因为需要查看您的代码以及更详细的上下文信息。但是,您可以在报错的位置附近进行如下修改:
      javascriptCopy code
      // 在 element-ui.common.js 文件的 2947 行附近
      if (yourObject !== null && typeof yourObject === 'object') {
      yourObject.type = newValue;
      }
      // 在 Login.vue 文件的第 50 行 28 列附近
      if (yourObject !== null && typeof yourObject === 'object') {
      yourObject.type = newValue;
      }
      
      以上代码示例是一种可能的解决方案,但具体的修改取决于您的代码结构和逻辑。
      最后,请务必在修改代码之前进行备份,并在修改后进行测试以确保问题已解决且没有引入其他问题。
      希望这些信息对您有所帮助!如果您有任何疑问或需要进一步的帮助,请随时告诉我。

    如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

    用户答题指南

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部