首页 > 解决方案 > 使用带有构造函数对象的类

问题描述

我正在尝试在另一个类中使用带有构造函数对象的类。但是我如何正确地调用那个类呢?例如:我如何在 Class 2 中使用 Class 1?

下面的示例是根据 axios 调用的响应创建一个对象。_object应该是我从中得到的任何东西getData()。我不确定这是否是正确的方法。但是我如何在另一个类中使用构造函数调用这个类?理想情况下,我希望能够查询对象的属性,并在另一个类中使用它们,但我不确定如何正确调用该类。

第一类:

export class MyClass {

    private _object: any;

    constructor(object: any) {
        this._object = object;
    }

    public static async getData() {
        return axios.get(url)
            .then(response => response.data)
            .catch((error) => {
                console.log(error);
            });
    }

    public static async getCurrentData() {
        return new MyClass(await this.getData());
    }

}

尝试在另一个类中使用它,带有构造函数对象:

第 2 类:

new MyClass(object);  // cannot find name object

或者

new MyClass();  // without constuctor object, Expected 1 arguments, but got 0. An argument for 'object' was not provided.'

我在这里问过相关问题: 构造函数对象的返回属性

标签: typescriptconstructoraxios

解决方案


您的构造函数需要一个对象作为其参数。因此,要构造 的对象MyClass,您需要执行以下操作:

let obj = new MyClass({}) // construct with an empty object as the arg
// or:
let argObj = {a: 123}
let obj = new MyClass(argObj)

推荐阅读