javascript - 是否可以修改作为参数传递给类的方法

标签 javascript ecmascript-6

我想知道我可以修改作为参数传递给类的方法吗?

例如,假设我创建了类Column,我将在其中创建列,在此列上添加EventListener,并将回调作为参数接收。但我还想通过添加特殊行来修改此方法,该行将保存单击或取消单击的

class TableColumn {

    column = document.createElement('th');
    clickState = false;

    constructor(callback) {
        this.column.textContent = 'sort ascending / descending';
        this.column.addEventListener('click', callback);
    }

}

我知道我可以通过操作元素属性来实现这一点,例如:

colum.setAttribute('was-sorted', 'false');

或者通过切换类:

column.classList.toggle('sorted');

最佳答案

如果我理解您的问题,您可以通过在对 callback 的调用前加上您想要的行为来实现您想要的目标:

constructor(callback) {
    this.column.textContent = 'sort ascending / descending';
    this.column.addEventListener('click', function(ev) {
        // Your desired code here

        // Call the callback
        callback(ev);
    });
}

关于javascript - 是否可以修改作为参数传递给类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57737647/

相关文章:

javascript - JavaScript 中的 function.toString()

javascript - 为什么我的 .text() 操作在 AJAX 调用后不起作用?

javascript - 如何在旧 IDEA 12 中使用 PhoneGap/Cordova 插件?

javascript - 如何对 ES6 `Set` 进行排序?

javascript - 如何从组件内部获取 Vue 组件的实例

javascript - 检查当前浏览器是否支持JS API函数

javascript - Mean.js 查询变量不起作用

Javascript 从和对象中找到具有最小(或最大)值的 n 个键

javascript - 为什么 ECMAScript 标准中没有 Object.setPrototypeOf(...)?

javascript - 尝试建立一个模拟时钟,但它的小时针不能正常工作,帮我解决小时针代码