2017-11-24 18 views
0

私はform.service.tsの下に配列オブジェクトを持っています。私は私のHTMLテンプレートの内側の上にオブジェクトから関連するテキスト値を取得するために探しています他の値に基づくオブジェクトからの角度取得値

currentUser = 'ADMIN'

readonly userTypesOptions = [ 
    { value: 'ADMIN', text: 'Administrator' }, 
    { value: 'MEMBER', text: 'Member' }, 
    { value: 'GUEST', text: 'Guest' } 
]; 

getUserTypes() { 
    return this.userTypesOptions; 
} 

と変数とのform.component.ts。残念ながら、私は値に基づいてテキストを取得する方法がわからないので、以下のコードは動作しません。

{{ userTypesOptions[currentUser].text }} 

form.component.htmlヘルプをいただければ幸いです。

+0

配列の代わりに 'userTypesOptions'をオブジェクトとして持つことは可能でしょうか?そうでなければ '.find'を使うことができます –

答えて

0

として@Explosion丸薬は言っ

getValue(currentUSER){ 
    let option = this.userTypesOptions.find(opt => opt.value === currentUSER); 
    return (option || {}).text; 
} 

か:このようなことに

readonly userTypesOptions = { 
    'ADMIN' :'Administrator', 
    'MEMBER': 'Member' , 
    'GUEST':'Guest' 
} 

とアクセス:あなたは、オプション・タイプを検索しようとしている

{{ userTypesOptions[currentUser]}} 
0

キーの代わりに値を使用します。

in userTypesOptions、 'ADMIN'というキーはありません。 'ADMIN'は、KEY '値'によって識別されるVALUEです。

何ができたこのあるために:

readonly userTypesOptions = [ 
    { 'ADMIN': 'Administrator' }, 
    { 'MEMBER': 'Member' }, 
    { 'GUEST': 'Guest' } 
]; 

あなたはKEY 'ADMIN' を使用してアイテムにアクセスした時はいつでもその後、あなたはVALUEになるだろう "管理者

{{ userTypesOptions[currentUser] }} // <-- renders 'Adminisrator' when currentuser = 'ADMIN' 

は編集:私は推測します私の答えは大丈夫ではなかったので、userTypesOptionsを配列の代わりにオブジェクトに変換することもできます:

readonly userTypesOptions = { 
    'ADMIN': 'Administrator', 
    'MEMBER': 'Member', 
    'GUEST': 'Guest' 
}; 
関連する問題