2015-04-28 253 views
-1

所以,我只需要類似this.style.backgroundColor = red; 我怎麼寫這個角? $scope.style.backgroundColor沒有工作,還有其他的選擇嗎?angularJS改變背景顏色​​

編輯:

要澄清一些事情,我需要改變一個<td>元素的單擊顏色。在JS中做起來很容易,但現在我需要在角度上動態地做到這一點。所以是的,我看不出ng-style如何幫助我?

+0

你看過ngStyle https://docs.angularjs.org/api/ng/directive/ngStyle? –

+0

只是看着它@JonC – AlCode

回答

1

由於您正在查看演示文稿更改,您可能希望在視圖內進行更改,而不是在控制器內進行更改。

ng-style將允許您分配可以動態更改的angularjs類對象。

下面是從文檔的例子:

<input type="button" value="set color" ng-click="myStyle={color:'red'}"> 
<input type="button" value="set background" ng-click="myStyle={'background-color':'blue'}"> 
<input type="button" value="clear" ng-click="myStyle={}"> 
<br/> 
<span ng-style="myStyle">Sample Text</span> 
<pre>myStyle={{myStyle}}</pre> 

編輯:

這裏是你如何根據你的控制器內時函數調用可以有條件地應用NG風格:

<td ng-style="{ background-color: clicked ? 'red' : 'black' }">

而且,在你的控制器功能中:

var $scope.clicked = false; var ChangeColor = function($index){ $scope.clicked = true; }

還要注意的是,你可以有條件地應用預定義的樣式類與納克級,以及(see this related question for examples)。

+0

我不認爲這可以幫助我,因爲我需要它在函數中調用。 像這樣:'var ChangeColor = function($ index){//改變元素的顏色[$ index]}' – AlCode

+0

這將有助於您的原始問題中包含的信息...我將編輯以解決新問題信息。 – Beofett

+0

@NeoChrome我已經通過控制器函數調用爲條件風格應用程序添加了示例。我希望它有幫助。 – Beofett