为什么我的ES6代码收到未捕获的类型错误? [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的ES6代码收到未捕获的类型错误? [重复]相关的知识,希望对你有一定的参考价值。
ES6的新手,并试图弄清在这个特定示例中我忽略了什么。
我有一个包含button和[[ID为#submitBtn
的表单,我正在尝试向其中添加一个eventListener
,以便当我单击“提交”按钮时,我得到警报消息-简单,对吧?
class schedule
constructor()
this.submitBtn = document.querySelector("#submitBtn");
this.sayHello();
sayHello()
this.submitBtn.addEventListener("click", () =>
alert("Hello!");
)
export default schedule;
当我检查控制台时,收到一条错误消息,内容为:
Uncaught TypeError: Cannot read property 'addEventListener' of null
[如果有人可以向我解释我所缺少或忽略的内容,我将不胜感激!
this.sayHello()
绑定到this
。因此,在您的构造函数中,您需要this.sayHello = this.sayHello.bind(this)
,或者您可以使用箭头功能避免这种情况。 class schedule
constructor()
this.submitBtn = document.querySelector("#submitBtn");
this.sayHello = this.sayHello.bind(this);
this.sayHello();
sayHello()
this.submitBtn.addEventListener("click", () =>
alert("Hello!");
)
export default schedule;
以上是关于为什么我的ES6代码收到未捕获的类型错误? [重复]的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的类型错误:$(...).dataTable 不是函数 [重复]
与 ES7 反应:未捕获的类型错误:无法读取未定义的属性“状态”[重复]