几乎试图在类中调用select函数,但出现错误,告诉我未定义的select。
我尝试了this.element,并使用箭头函数对其进行了调用。
class TabLink {
constructor(element) {
// Assign this.element to the passed in DOM element
// this.element;
this.element = element;
// console.log(this.element);
// Get the custom data attribute on the Link
// this.data;
this.data = this.element.dataset.tab
// Using the custom data attribute get the associated Item element
// this.itemElement;
this.itemElement = document.querySelector(`.tabs-item[data-tab="${this.data}"]`);
// Using the Item element, create a new instance of the TabItem class
// this.tabItem;
this.tabItem = new TabItem(this.itemElement);
// Add a click event listener on this instance, calling the select method on click
this.tabItem.addEventListener('click', select);
};
select() {
// Get all of the elements with the tabs-link class
const links = document.querySelectorAll('.tabs .tabs-links');
需要选择才能拨打此电话。
答案 0 :(得分:0)
select
是一个类方法,您需要将其称为对象属性。
this.tabItem.addEventListener('click', this.select.bind(this));
如果该方法中未引用this
,则可以仅使用this.select
而不是对其进行绑定。