首页 > 解决方案 > 如何从打字稿中的其他类导入函数

问题描述

我想将另一个类(由名称字符串决定,例如 B)导入当前类(名为 A)。B类中的函数需要调用A类中的函数。我想知道如何实现。

// index.ts

function importAll(obj, src){
    for (var key in src) obj[key] = src[key];
    return obj;
};

 class A{
    function_a(){
        console.log("A_test");
    }

    call_function_b()
    {
        let classtype="./Bclass";
        // dynamicly import class B 
       let B = require(classtype);
       let object_b= new B(); 
       // want to import all function from class B to class A
       // like importAll(this, object_b);

    }
}

export let test =new A();
test.call_function_b();
//file Bclass.ts
export class B{
    function_b() {
        console.log("B_test");
    }

    function_use_a()
    {
        // function in class B need to call function in class A
        this.function_a();
    }
}

标签: typescript

解决方案


我想你正在寻找A extends B.

在类声明或类表达式中使用extends关键字来创建一个类,该类是另一个类的子类。

class B {
  
  b_func() {
    console.log('b func');
  }
}

class A extends B {
  
  a_func() {
    console.log('a func');
  }
}


const a = new A();
a.b_func();


推荐阅读