gpt4 book ai didi

Angular2调用其他类的方法存在于同一个Typescript中

转载 作者:行者123 更新时间:2023-12-02 15:18:23 24 4
gpt4 key购买 nike

我想从 Class2 的其他方法调用 Class1 的方法 - sometMethod()

这怎么可能?

两个类都存在于同一个 Typescript 中。

export class Class1 {

constructor(public nav: NavController, public formBuilder: FormBuilder, public viewCtrl: ViewController) {
this.nav = nav;
}

sometMethod() {
console.log("someMethod of Class1");
}
}


export class Class2 {

constructor(public nav: NavController, public formBuilder: FormBuilder, public viewCtrl: ViewController) {
this.nav = nav;
}

sometOtherMethod() {
console.log("someOtherMethod of Class2");
//I want to call a method of Class1 - sometMethod()
//How is that possible?
//Class1.someMethod(); //Does not Worked!!
}
}

最佳答案

要么在class2中创建class1的实例,然后从实例中调用class1的方法,要么将方法设为static,然后按你写的那样使用。

选项 1:

export class Class1 {
constructor(public nav: NavController, public formBuilder: FormBuilder, public viewCtrl: ViewController) {
this.nav = nav;
}

sometMethod() {
console.log("someMethod of Class1");
}
}

export class Class2 {
constructor(public nav: NavController, public formBuilder: FormBuilder, public viewCtrl: ViewController) {
this.nav = nav;
}

sometOtherMethod() {
console.log("someOtherMethod of Class2");
let class1Instance = new Class1(this.nav, this.formBuilder, this.viewCtrl);
class1Instance.someMethod();
}
}

选项 2:

export class Class1 {
constructor(public nav: NavController, public formBuilder: FormBuilder, public viewCtrl: ViewController) {
this.nav = nav;
}

static sometMethod() {
console.log("someMethod of Class1");
}
}

export class Class2 {
constructor(public nav: NavController, public formBuilder: FormBuilder, public viewCtrl: ViewController) {
this.nav = nav;
}

sometOtherMethod() {
console.log("someOtherMethod of Class2");
Class1.someMethod();
}
}

关于Angular2调用其他类的方法存在于同一个Typescript中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38974171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com