Как мне взять любой тип данных в Angular и преобразовать в известный тип данных?
У меня есть служба ниже, получающая некоторые данные службы, и я хочу преобразовать ее в productDataClass с {productId: int; productName: string;}
По крайней мере, я хочу по крайней мере productId
, которое является целым числом.
Отправка данных, аналогичных этому ресурсу,
https://jasonwatmore.com/post/2018/06/25/angular-6-communicating-between-components-with-observable-subject
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' изundefined
Базовая служба:
export class ProductService{
private messageSource = new Subject();
currentMessage = this.messageSource.asObservable();
constructor() { }
changeMessage(currentMessage) {
this.messageSource.next(currentMessage);
}
}
Просмотр этого ресурса также: Ошибка наблюдаемого типа: невозможно прочитать свойство undefined
Снимок экрана с фактическими элементами:
CurrentMessage содержит фактические данные, следующие строки показывают неопределенные, ![enter image description here](https://i.stack.imgur.com/8wNzn.png)
['value'] по-прежнему выдает ошибку
![enter image description here](https://i.stack.imgur.com/2NDmS.png)