JavaScript:访问由 .addEventlistener() 范围之外的点击事件创建的变量
JavaScript: Access variables created by an Click-Event outside the Scope of .addEventlistener()
我想更新 Click-Eventlistener 外部的变量。
以下只是演示代码,它不是为了工作或任何东西,只是为了演示我的问题。
Class
class test {
constructor() {
// SOMETHING
}
get a() {//DOSTH};
get b() {//DOSTH};
按钮 - 部分
applyBtn.addEventListener('click', () {
const a1 = testArr.a;
const b1 = testArr.b;
});
console.log(a1);
console.log(b1);
当然,console.log(a1) e.G.立即执行,导致没有任何记录。这是完全有道理的,因为我得到 a1 和 b1 after 按钮被点击。
我的问题
如何创建代码(例如函数或 class)在单击按钮后起作用,条件是它 不应该在 addEventlistener() 功能?
通过使用 then().
,我在脑海中有了类似 Promise 技术的东西
*编辑
背景信息
我的目标是创建一个使用 a1 和 a2 的新 class
并将这些变量发送到另一个文件(python 文件,我正在使用 NodeJS 的 ChildProcesses)。
我想保持一个干净的代码结构,尽可能实现 OOP 原则,这就是为什么我不想在 addEventListener()[=56= 中添加此功能的原因].
你可以试试闭包。使用函数闭包,您可以将数据存储在单独的范围内,并仅在必要时共享。
const click = () => {
let count = 1
return () => count++
}
const incrementCount = click()
const anotherIncrementCount = click()
console.log(incrementCount()) // 1
console.log(incrementCount()) // 2
console.log(incrementCount()) // 3
console.log(anotherIncrementCount()) // 1
我想更新 Click-Eventlistener 外部的变量。
以下只是演示代码,它不是为了工作或任何东西,只是为了演示我的问题。
Class
class test {
constructor() {
// SOMETHING
}
get a() {//DOSTH};
get b() {//DOSTH};
按钮 - 部分
applyBtn.addEventListener('click', () {
const a1 = testArr.a;
const b1 = testArr.b;
});
console.log(a1);
console.log(b1);
当然,console.log(a1) e.G.立即执行,导致没有任何记录。这是完全有道理的,因为我得到 a1 和 b1 after 按钮被点击。
我的问题
如何创建代码(例如函数或 class)在单击按钮后起作用,条件是它 不应该在 addEventlistener() 功能?
通过使用 then().
,我在脑海中有了类似 Promise 技术的东西*编辑
背景信息
我的目标是创建一个使用 a1 和 a2 的新 class 并将这些变量发送到另一个文件(python 文件,我正在使用 NodeJS 的 ChildProcesses)。
我想保持一个干净的代码结构,尽可能实现 OOP 原则,这就是为什么我不想在 addEventListener()[=56= 中添加此功能的原因].
你可以试试闭包。使用函数闭包,您可以将数据存储在单独的范围内,并仅在必要时共享。
const click = () => {
let count = 1
return () => count++
}
const incrementCount = click()
const anotherIncrementCount = click()
console.log(incrementCount()) // 1
console.log(incrementCount()) // 2
console.log(incrementCount()) // 3
console.log(anotherIncrementCount()) // 1