使用js类声明新类型

时间:2018-04-18 14:10:08

标签: javascript angular

我会创建一个与我的数据结构相匹配的新类型

这是我正在接收的数据格式

[{
    category1: [{
        fileName: "blabla"
    }, {
        fileDate: "DATE
    }, {
        fileURL: "http...."
    }]

}, {
    category2: [{
            fileName: "blabla2"
        },
        {
            fileDate: "DATE"
        },
        {
            fileURL: "http...."
        }
    ]

}]

我创建了一个用于定义模型的类

export class CreditPoliciesDetails { 
    private _fileName : string ="" ;
    private _fileDate : string ="" ;
    private _fileSize : string ="" ;
    constructor() {
      this._fileDate="";
      this._fileName="";
      this._fileSize="";
    }
    get fileName() {
        return this._fileName;
    }
    get fileDate() {
        return this._fileDate;
    }
    get fileSize() {
        return this._fileSize;
    }
}
export class CreditPolicies {
    private _category : CreditPoliciesDetails;
    constructor () {}
    get category() {
        return this._category
    }
}

在我的组件文件中,我导入了模型文件,然后我定义了一个新变量和console.log它

files : CreditPolicies;
ngOnInit() {
  console.log ("file details ", this.files)
}

我希望获得类型树详细信息,但在我的开发控制台中,我得到了未定义的内容:file details undefined

如何正确定义新类型并打印一些默认数据?

1 个答案:

答案 0 :(得分:0)

嗯,你的构造函数很漂亮。如果要创建对象的新实例,它应该看起来更像这样:

    private _fileName : string;
    private _fileDate : string;
    private _fileSize : string;
    constructor(fileDate: string, fileSize: string, fileSize: string) {
      this._fileDate = fileDate;
      this._fileName = fileName;
      this._fileSize = fileSize;
    }

这允许你创建一个对象的新实例,有点像......

newObject: CreditPoliciesDetail = new CreditPoliciesDetail("10/10/2000", "mystuff.txt", "1923")

然后你可以基本上用

来记录它

的console.log(NEWOBJECT)

一般来说,您可能需要支付https://www.typescriptlang.org/docs/handbook/variable-declarations.html次访问费用并完成他们的教程。获得面向对象编程的基本思想非常好。