This.getValue<FileInformation>().subscribe((value) => {
console.log(v.data); // object is returned
console.log(v.data.path); // always undefined
})
好吧,这里的价值永远不会是
FileInformation
它将始终是纯JS对象。此处使用的类型仅用于使用控件(检测对不存在的属性的访问)。这对接口非常有效——因为对象可能与接口签名匹配。对于类实例,您必须亲自指定
This.getValue()
.pipe(
map(jsonData=>new FileInformation(jsonData)
).subscribe((value:FileInformation) => // here value will be indeed a FileInformation instance
})
显然你必须创造
constructor
为了让这个例子起作用,它将把json映射到
文件信息
.