你好,我发现自己搞不懂为什么我的控制台日志会以角的形式返回。我正试图用html在卡片上显示数据。计划是将输入的任何数据连接起来,并通过cardValue显示它。
Service.ts
incomingData(): Observable<any> {
return this.httpClient.get<any>('this_is_incoming_data/', {});
}Component.ts
cardDetails = [
{
cardValue: console.log('this is test 3, 'this.custom()),
}
returnedData: any;
ngOnInit(): any {
this.Service.incomingData().subscribe((data: any) => {
this.returnedData = data;
console.log('test1',this.returnedData);
this.custom();
});
}
custom(): any {
const placeholder = "hello"
return placeholder
}cardValue: {Name: John, Size: Medium, Age: 34}在用于测试1-3的console.log上,日志非常好&正如预期的那样,但是当我更改定制()时,需要这样的卡片值。
custom(): any {
const placeholder = this.returnedData.cardValue]
return placeholder
}测试3返回未定义的属性,并给出一个未定义的错误: TypeError:无法读取未定义的属性(读取'cardValue')
我知道问题在自定义函数中,但我不知道如何更改它以使其工作。
发布于 2022-10-15 16:40:14
下面的代码在ngOnInit之前运行。this.returnedData是在ngOnInit中设置的,因此当returnedData未定义时,它会为this.returnedData.cardValue抛出错误。
cardDetails = [
{
cardValue: console.log('this is test 3, 'this.custom()),
}将自定义代码更改为如下所示。这将确保如果未设置returnedData,则占位符为空,否则返回数据的卡片值为空。
const placeholder = this.returnedData?
this.returnedData.cardValue : '';发布于 2022-10-15 19:32:30
未定义的问题是由于可观察的异步线程,请在收到数据时接受参数来修改自定义()方法
ngOnInit(): any {
this.Service.incomingData().subscribe((data: any) => {
this.returnedData = data;
this.custom(this.returnedData.cardValue);
});
}
custom(value): any {
const placeholder = value
return placeholder
}https://stackoverflow.com/questions/74080976
复制相似问题