2015-04-28 34 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