使用Typescript

时间:2017-03-18 22:39:44

标签: angular object typescript interface

在括号表示法中使用动态键时,无法访问简单对象中的属性。这是我的代码:

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() {
  }

}

在console.log中我得到了这个:

  

对象{vdc:" DC Volt"}" vdc"未定义

所以我的对象有效,动态键是正确的但是synatx对象[动态键]对我不起作用。如果我尝试像这样访问它,那么它可以正常使用,但它不是我想要的,因为将来我会有更多的动态密钥。

你能指导我走向正确的方向吗? 感谢

1 个答案:

答案 0 :(得分:0)

所以我的问题是,即使在开发人员工具控制台中它出现为“vdc”,我的微控制器也在发送“vdc \ n”。一个空白使我松散了一半的头发。谢谢大家。