0
ブラケット記号でダイナミックキーを使用すると、単純なオブジェクトのプロパティにアクセスできません。ここに私のコードは次のとおりです。ダイナミックキーを持つオブジェクトへのアクセスTypescript
にconsole.logでimport { Component, OnInit } from '@angular/core';
import { DisplayFeederService } from '../../services/display-feeder/display-feeder.service';
interface IData {
[key: string]: any;
}
@Component({
selector: 'display',
templateUrl: './display.component.html',
styleUrls: ['./display.component.css']
})
export class DisplayComponent implements OnInit {
measurementValue: any;
measurementType: any;
private typesTable: IData = {
vdc: 'DC Volt'
};
constructor(private displayFeederService: DisplayFeederService) {
this.displayFeederService.displayData$.subscribe(data => {
this.measurementValue = data.val;
this.measurementType = this.typesTable[data.type];
console.log(this.typesTable, data.type, this.typesTable[data.type])
})
}
ngOnInit() {
}
}
私はこの取得しています:
オブジェクト{VDC: "DCボルト"}
"VDC" 未定義だから私のオブジェクトがあります有効ですが、動的キーは正しいですが、synatxオブジェクト[動的キー]は私のために働いていません。このようにthis.typesTable ['vdc']のようにアクセスしようとすると動作しますが、将来的にはより動的なキーを持つため、必要なものではありません。
私を適切な方向に導くことができますか? ありがとう
'data.type'の戻り値の型は何ですか? – ulubeyn
あなたのサービスが返すサービスコードとサンプルjsonで投稿を更新する – Aravind