2017-12-07 8 views
0

私はあなたが通貨を選ぶことができ、選択された通貨に基づいているが、今はngifを使用して通貨を表示していますが、私はより多くのngifを追加する必要がありますし、そのページのHTMLコードは(100の異なる通貨= 100 ngif代)巨大になるだろうされているので私にはそれが論理的ではありません以上の通貨角4 ng代替#

は、これは私が今持っているものです。

会社.ts

currencyItems: string[] = ['MXN', 'PHP']; 
    currency: string = this.currencyItems[0]; 

company.html私が達成したいものを

<div class="col-md-5" *ngIf = "currency = 'MXN'"> 
     <input type="number" name="mxn" id="mxn" [(ngModel)]="newCompany.currency.mxn" class="form-control"> 
</div> 


<div class="col-md-5" *ngIf = "currency = 'PHP'"> 
     <input type="number" name="php" id="php" [(ngModel)]="newCompany.currency.php" class="form-control"> 
</div> 

は、私はコードのみ の一つのブロックにその

<div class="col-md-5"> 
     <input type="number" [(ngModel)]="newCompany.currency.<changes base on drop-down selection>" class="form-control"> 
</div> 

とも

<td>{{company.currency.mxn}}</td> 

のようなものを持っているどのような方法があります

<td>{{company.currency.<changes base on drop-down selection>}}</td> 

I kn私はngSwitchを使うことができますが、それでもまだ多くのコードになるでしょう。

答えて

1

別個のプロパティをすべて使用してください。たとえば、selectedCurrencyです。次に、新しいオプションがselectedCurrency

<div class="col-md-5"> 
    <input type="number" [(ngModel)]="selectedCurrency" class="form-control"> 
</div> 

<td>{{selectedCurrency}}</td> 
+0

に割り当て、ドロップダウンから選択されたときに「company.currency.mxnは、」私はAPI、元からそれを取得してい率です。 company.currency.mxn = 19.12。 company.currency.php = 24.55。 MXNをドロップダウンメニューから選択すると、mxnの値が表示されます。逆も同様です。 – Milad

+0

@Miladロジックは同じである必要があります。ユーザーはドロップダウンから 'mxn'を選択します - >値を取得するためにAPI呼び出しを行います - – LLai

+0

のために' selectedCurrency'に値を割り当てます約100社がいる場合、このロジックは機能しますか?すべての企業が列に並んでいて、それぞれが異なる通貨レートを持っているので、drop doneメニューからmxnを選択することによって、私はAPIから得られるすべての通貨レートをmxn、その他の通貨レート。 – Milad