Javascript 导入类中的函数未定义
我第一次尝试使用ES6类来设置应用程序,但是从导入的类调用函数时遇到困难 要导入的类:Javascript 导入类中的函数未定义,javascript,class,ecmascript-6,Javascript,Class,Ecmascript 6,我第一次尝试使用ES6类来设置应用程序,但是从导入的类调用函数时遇到困难 要导入的类: import {BaseElement} from './ui/base-element.js'; export class Product extends BaseElement { constructor() { super() this.toggleAttributes(); } // show more attributes toggle toggleAttiributes ()
import {BaseElement} from './ui/base-element.js';
export class Product extends BaseElement {
constructor() {
super()
this.toggleAttributes();
}
// show more attributes toggle
toggleAttiributes () {
const toggleButton = document.querySelectorAll('.smrt42-toggle-attr')
document.addEventListener('click', (e)=>{
const t = e.target;
if(t.className.indexOf('smrt42-toggle-attr') !== -1) {
e.preventDefault()
let productAttrs = t.parentNode.previousElementSibling
if(t.classList.contains('smrt42-toggle-attr-more')) {
productAttrs.classList.add('smrt42-attr-open')
} else if (t.classList.contains('smrt42-toggle-attr-less')) {
productAttrs.classList.remove('smrt42-attr-open')
}
}
})
}
}
在此处导入类:
import {BaseElement} from './ui/base-element.js';
import {Product} from './product.js';
export class Content extends BaseElement {
constructor() {
super()
let p = new Product() ;
}
}
这会导致控制台错误。toggleAttributes不是函数您键入的函数名称错误。在声明中,名称为
toggleAttributes
,但您将其称为toggleAttributes
。这里有额外的i
toggleAttiributes
---------^-------
您键入的函数名有误。在声明中,名称为
toggleAttributes
,但您将其称为toggleAttributes
。这里有额外的i
toggleAttiributes
---------^-------
@确保
产品
类中的nsrapyanconstructor@SurenSrapyan在产品
类的构造函数中,我们有一个很好的理由来回答这些问题。在这种情况下,一句评论就足够了。我简直不敢相信。。。但事实上我可以。我们有一个很好的理由来回答这些问题。在这种情况下,一句评论就足够了。我简直不敢相信。。。但事实上我可以。