2017-11-23 21 views
0

私はカスタムディレクティブ内でこのようなテンプレートをカスタマイズしようとしている(アプリ検索 - ドロップダウン)のために:角度4 - カスタム* ngForジェネリック配列

<li *ngFor="let item of list" [value]="item.code"> 
    <a (click)="setInputText(item.code)">{{item.description}}</a> 
</li> 

このディレクティブインサイド私が持っている:

<app-search-dropdown [list]="List" [code]="'param1' [description]="'param2'"></app-search-dropdown> 

私はこのようなリストのいくつかの種類があります:私はディレクティブを宣言した親コンポーネントのHTMLテンプレートに

@Input() list: any[]; 
@Input() description: any; 
@Input() code: any; 

List1 = {["one": "1", "two": "2"],["one":"11", "two": "22"]} 
List2 = {["uno": "1", "due": "2"],["uno":"11", "due": "22"]} 

I「は、APP-検索ドロップダウン」成分リスト1又はLIST2及びディスプレイ等の汎用アレイのみ[説明]に渡す値と[値]の値を得るために送ります。例えば

<app-search-dropdown [list]="List1" [code]="'one' [description]="'two'"></app-search-dropdown> 

私はこのようなレンダリングされたテンプレートをしたい:

<li *ngFor="let item of list" [value]="item.one"> 
<a (click)="setInputText(item.one)">{{item.two}}</a> 
</li> 

は、私はそれをどのように行うことができますか?今は[コード]と[説明]を文字列として渡して動作しないためです。 ありがとうございます。

答えて

0

あなたは

<a (click)="setInputText(item[code])">{{item[description]}}</a> 
+0

はあなたに感謝し、各項目オブジェクトからキーとコードと説明を使用することができます!できます :) – TommyR22