2016-01-06 47 views
0

下面的代碼,錯誤解析爲背景色值 - angularjs

<div style="background-color: {{ row.legend }}"></div>

執行罰款,

但科莫多編輯器顯示錯誤的Error in parsing value for 'background-color'

我試圖修改到:ng-style="'background-color': '{{ row.legend }}'",但功能中斷。

如何解決此錯誤?

+0

'NG-style'直接着眼於當前範圍,所以請直接引用你的對象,就像'ng-style =''background-color':row.legend'' – jcc

+0

@jcc但是這個功能打破 – overexchange

+0

@jcc這個作品'ng-style =「{'background-顏色':row.legend}「' – overexchange

回答

1

總是在評估大括號中使用ng樣式的樣式。

技術背景是,有些瀏覽器會立即從DOM中刪除無效的樣式屬性,因此角度將無法稍後更新樣式屬性,即使它們到那時纔有效。

在您的例子

<div style="background-color: {{ row.legend }}"></div> 

可以評估到

<div style="background-color: "></div> 

在第一位置,從而從DOM移除。如果之後row.legend接受一個有效的值,an​​gular將不能相應地更新DOM。

這不會發生與內置指令ng樣式。

爲了完整,我會重複@overexchange

在後一種情況下,問題的答案是缺少支撐,因此該解決方案將是

<div ng-style="{'background-color': row.legend }"></div>