2017-06-21 3 views
0

私は辞書<key, value>を持っていて、具体的なkeyの値にhtmlという値でアクセスしたいと思います。それは可能な方法ですか?角2の辞書のhtmlで特定の値を得る方法

export interface ICollection<T> { 
    add(key: number, value: T); 
    containsKey(key: number): boolean; 
    item(key: number): T; 
    keys(): number[]; 
    values(): T[]; 
} 

export class Collection<T> implements ICollection<T> { 
    private items: { [index: number]: T } = {}; 

    public containsKey(key: number): boolean { 
     return this.items.hasOwnProperty(key); 
    } 

    public add(key: number, value: T) { 
     this.items[key] = value; 
    } 

    public item(key: number): T { 
     return this.items[key]; 
    } 

    public keys(): number[] { 
     var keySet: any[] = []; 

     for (let item in this.items) { 
      if (this.items.hasOwnProperty(item)) { 
       keySet.push(item); 
      } 
     } 

     return keySet; 
    } 

    public values(): T[] { 
     var values: T[] = []; 

     for (var prop in this.items) { 
      if (this.items.hasOwnProperty(prop)) { 
       values.push(this.items[prop]); 
      } 
     } 

     return values; 
    } 
} 

export const FIELDS = new Collection<String>(); 

FIELDS.add(100002, "First Name"); 
FIELDS.add(10003, "Last Name",); 
FIELDS.add(100032, "Contact ID",); 

今私は、このような値FirstName何かへのアクセスにされ、私のHTMLテンプレートに欲しいもの:

<div class="form-group row col-md-6"> 
     <label for="firstName" class="col-sm-6 col-form-label">First Name</label> 
     <div class="col-sm-6"> 
      <input id="firstName" class="form-control" [ngModel]="FIELDS['100002']" readonly/> 
     </div> 
    </div> 

アクセスを取得する方法はありますが?

ありがとうございます!

答えて

1

HTMLの読み取り範囲はコンポーネントの有効範囲です。したがって、FIELDSをコンポーネントのメンバーとして割り当てるだけです。

import { Component } from '@angular/core'; 
import { FIELDS } from './wherever-you-export-fields-from'; 

@Component({ 
    templateUrl: 'your.html' 
}) 
export class DemoComponent { 
    const FIELDS = FIELDS; 
} 

次に、[ngModel]="FIELDS['100002']"を使用できます。

関連する問題