访问地图属性角度2

时间:2017-06-01 10:50:11

标签: angular dictionary

我是Angular 2的新手。 我有一个对象属性,它是Map

的一个实例

我想访问它的价值。

在控制台中,它显示:attributes map instance

InputFirstComponent

@Component({
  selector: 'customer-stats2',
  templateUrl: './customer-stats.ng2.component.html'
})

export class CustomerStatsComponentNg2 implements OnInit{
    customerStats:any;

    constructor(private ss:StatsService){
    }

    ngOnInit()
    {
        console.log('ngoninit cust stats ')
        this.ss.getCustStats().
            then(custStats => this.customerStats = custStats.data)
           .then(error => console.log(error))
    }
}

我试过

export class InputFirstComponent implements OnInit {

@Input() public inputFirstToDisplay: CustomInput;
constructor() { }
 ngOnInit() {
   console.log('InputFirstComponent: onInit');
   console.log(this.inputFirstToDisplay);
   console.log('attribute Object which i want to acces to its attribute')
   console.log( this.inputFirstToDisplay.attributes);
 }
}

但该对象已成立:Attribute object has minOccurs and  maxOccurs

CustomInput类的对象inputFirstToDisplay:

console.log( this.inputFirstToDisplay.attributes.get('minOccurs'));
 console.log( this.inputFirstToDisplay.attributes['minOccurs'].value); // 
  print undefined

attributes:Map(String,string)是自定义输入类的一个属性,我想要访问它的值。

谢谢

1 个答案:

答案 0 :(得分:1)

如果您要使用String作为键,则没有理由使用hashmap,javascript中的每个对象以及typescript都是一个简单的映射。您需要使用Map类的唯一原因是,除了String之外还需要一些键作为键。

请看一下这个问题 - > How is a JavaScript hash map implemented?

在你的情况下,尝试console.log(this.inputFirstToDisplay.attributes [' minOccurs']); //没有.value