angular - Angular 中的 Visual Studio 代码:无法读取未定义的属性,如何修复?
问题描述
如何在 Angular 中获取任何数据类型并转换为已知数据类型?
我在下面有一个服务,接收一些服务数据,并想转换为 productDataClass 有{productId: int; productName: string;}
至少,我至少想要productId
哪个是整数。
发送与此资源类似的数据,
public productDataClass: ProductDataClass;
this.productService.currentMessage.subscribe(currentMessage => {
this.productDataClass = currentMessage
然后我尝试了这个,它不起作用 copyFromMessage 是any
类型,
this.productService.currentMessage.subscribe(currentMessage => {
this.copyFromMessage = currentMessage;
this.productData = this.copyFromMessage.value;
this.testString= this.productData.productName;
错误:
无法读取未定义的属性“productName”
基础服务:
export class ProductService{
private messageSource = new Subject();
currentMessage = this.messageSource.asObservable();
constructor() { }
changeMessage(currentMessage) {
this.messageSource.next(currentMessage);
}
}
还查看此资源: 可观察类型错误:无法读取未定义的属性
实物截图:
CurrentMessage 有实际数据,以下行显示未定义,
['value'] 仍然给出错误
解决方案
这是一个 javascript 运行时错误。
changeMessage()
不使用此结构的对象调用{value: {productName: ...}}
推荐阅读
- mongodb - 检查坐标是否为 Double
- amazon-web-services - Amazon S3 验证预签名 URL
- python - 试图找到一个命令,以便我可以从更大的字符串中获取字符串(例如名称)
- azure - 如何在 Azure 认知搜索中搜索复杂字段
- excel - Excel 更新历史
- python - 如何从 keras 调谐器中的 RandomSearch 中选择试用版?
- phpstorm - PhpStorm 编辑器问题
- firebase - firebase 云函数 context.auth 字段是否适用于 firestore?
- c++ - 未找到合适的 Visual Studio 实例
- unity3d - Unity中的事件未触发