2013-11-23 15 views
0

ng-style應根據通過JSON定義的樣式發出html style屬性。例如:Angular.js ng樣式無法發出與元素高度相關的css樣式

<div ng-style='{"background-color":"yellow", "height":"500px;"}'></div> 

應該編譯成類似:

<div style='background-color:yellow; height:500px;'> 

現在的問題是,它適用於一些CSS樣式像background-color但對於一些其他類似height不起作用。這裏是一個現場演示: http://plnkr.co/edit/DACbF0GHU7LweBL9poka?p=preview 我做錯了什麼或這是一個錯誤在Angular?

PS。這個問題不關於內聯樣式是否是一個好主意。像條形圖之類的東西需要將動態數據綁定到高度。

回答

2

問題是500px後面的分號。應該是:

<div ng-style='{"background-color":"yellow", "height":"500px"}'></div> 
+0

謝謝伊恩!我不敢相信我自己沒注意到這個分號! PS。你會同意,如果Angular拋出一個異常,而不是默默地忽略我發送給它的數據,它會更好嗎? –

+0

@DennisKashkin實際上,Angular並沒有忽視它。如果你檢查元素,你可以看到Angular發出的風格很好,但*瀏覽器*忽略它。 Angular沒有內置完整的CSS檢查器,因爲事情變化如此之快,不同的瀏覽器做了不同的事情。 Angular在這裏做着最簡單的事情,這可能是最好的。 –