我正在构建一个angular应用程序,我在另一个ts文件中定义了一个类。我试图获得一个由constructor定义的属性,但我在另一个object中的object中。通常,我会使用"this“关键字,但它指的是我所在的object,而不是父类。
下面是这个类的用法:
var devList = new DateList(dates)下面是DateList类的简化版本:
export class DateList {
date
constructor(input){
this.date = input
}
devs = {
bluegreen: {
dates: this.date.bluegreen //<-----------I believe "this" in this
// case refers to bluegreen,
// how do I get it to refer
// to this instance of the
// DateList class?
}
}
}编辑
我是编程的初学者,所以我不明白函数与另一个对象的内部对象有什么关系。有人能解释如何解决这个问题,以及这个问题如何应用于函数吗?
发布于 2019-12-06 21:32:39
设置类属性发生在构造函数之前,因此当您声明类属性'devs‘时,this.date是未定义的。在构造函数中移动设置'devs‘,它将工作:
export class DateList {
private date: any;
public devs: Object;
constructor(input: Object){
this.date = input
this.devs = {
bluegreen: {
dates: this.date.bluegreen
}
}
}
}
let dateList: DateList = new DateList({
bluegreen: 'bluegreen_val'
});
console.log(dateList.devs);https://stackoverflow.com/questions/59219543
复制相似问题