我想问一个有关 JavaScript 中类语法的问题,更具体地说,是在使用 Stimulus 的情况下。这里有人知道并使用 Stimulus 这个框架吗?它可以让你通过 HTML 中的 data-controller 属性轻松地将 JavaScript 连接到 HTML?
在我查阅过的所有有关 Stimulus 的文档中,我从未见过箭头函数的使用。例如:
export default class extends Controller {
connect() {
document.addEventListener("click", this.boundFindFoo)
}
findFoo() {
console.log(this.element.querySelector("#foo"))
}
}
对我来说奇怪的是,我从未在构造函数中看到“绑定”方法,例如:
this.boundFindFoo = this.findFoo.bind(this) 其次,我在断开连接方法中没有看到removeEventListener(该方法在卸载DOM时运行)。
我试图向我的同事解释,使用箭头函数自动绑定函数会更明智,但他们告诉我,没有箭头函数也能工作。此外,他们不相信在断开连接方法中删除事件侦听器的有用性,因为我没有足够的技术知识来证明它的合理性。我个人对 React 更熟悉,我知道当我在 React 中使用类时,我会系统地在构造函数中绑定我的方法(除非我使用箭头函数),并在卸载组件时销毁事件侦听器。
这就是为什么我想知道你们中是否有人在技术上知道在 Stimulus 控制器中使用或不使用绑定的原因以及在断开连接方法中删除事件侦听器的有用性。
预先感谢您的帮助。
刺激已经处理了移除操作,无需自己动手:-)