在Javascript中从父类调用Childs函数

在Javascript中从父类调用Childs函数,javascript,javascript-objects,Javascript,Javascript Objects,嗨,我有两个JS类,如下所示 class WPOnion_Field_API2 { constructor() { wp.hooks.addAction( 'wponion_reload_fields', this.init_fields ); } js_settings(elem, _default) { return wponion.field_js_args( elem, _default ); } is_vali

嗨,我有两个JS类,如下所示

class WPOnion_Field_API2 {
    constructor() {
        wp.hooks.addAction( 'wponion_reload_fields', this.init_fields );
    }

    js_settings(elem, _default) {
        return wponion.field_js_args( elem, _default );
    }

    is_valid() {
        return ( 1 >= this.elem );
    }

    init_fields() {
        console.log( 11111 );
    }
}
扩展类

class WPOnion_Field_inputmas extends WPOnion_Field_API2 {
    constructor() {
        super();
    }

    init_fileds() {
        console.log( 1 );
    }
}

let WPOFInputMask = new WPOnion_Field_inputmas();
在第一个类中,你可以看到我使用了调用的
this.init\u字段
这意味着其扩展的类应该调用childs函数,但它调用自己的类函数

您没有在基类的构造函数中调用
this.init\u字段。您仅引用了它:

wp.hooks.addAction( 'wponion_reload_fields', this.init_fields );
要调用它,需要添加括号:

wp.hooks.addAction( 'wponion_reload_fields', this.init_fields() );
但是,由于它不返回任何内容,因此将结果作为参数传递给
wp.hooks.addAction
是不正确的


在基类中,该方法被称为:
init\u fields()
,但在扩展类中,该方法被称为
init\u fileds()

,我想您是在问如何从子类调用父类的方法

如果是,如果子类也具有相同的名称,则从子类使用
super.parentClassMethodName()


Ref:

init\u字段
init\u文件不同。拼写很重要。谢谢你的回答。我意识到我有多愚蠢:-(