2017-05-09 82 views
1

我想改變取決於一些條件的字體顏色==>正在添加上可觀察到的從背面通過Http請求返回兩個DATAS,我嘗試論文碼波紋管(打字稿+角)NgStyles在角4

<td *ngFor="let user of userService.users | async">{{user.data.apps.details[0].label}} 
      <span [style.color]="user?.data.apps.details[0].state_id as colorId 'green' : 'orange' : 'red'"> 

</td> 

「用戶」 是我觀察到的, 「userService」 我的http服務,大括號內的DATAS {{}}從JSON對象

+0

你大概的意思是 「用戶計劃** S **」 是我的觀察的」,因爲'user'是隻有'userService.users'發出的數組中的一個項目。那麼問題是什麼?什麼不按預期工作? –

+0

'.state_id'應該有什麼值?值應該是「綠色」,「橙色」還是「紅色」?你的表達不是有效的代碼,它不清楚你試圖完成什麼。 –

+0

對不起,用戶... state_id正在返回0,1或2,我想改變標籤的顏色取決於該值 –

回答

2

取這不是一個有效的表達式

user?.data.apps.details[0].state_id as colorId 'green' : 'orange' : 'red' 

更新

這應該給你想要什麼,如果.state_id回報01,或2

<span [style.color]="['green', 'orange', 'red'][user?.data.apps.details[0].state_id]"> 
+0

是的我知道Günter我試圖動態地改變CSS適用於由ngFor解析的「標籤」取決於「state_id」 –

+0

我不確定是什麼從你的評論做出。這是否解決您的問題?或者它不是你想要的? –

+0

例如以下代碼返回標籤==> {{user.data.apps.details [0] .label}}以下內容返回我的state_id => {{user.data.apps.details [0] .state_idl}}我想根據我的state_id給我的「標籤」着色爲0 =綠色1 =橙色和2 =紅色 –