2016-10-04 52 views
0

我有一个网页有一个网格的HTML。对于每个对象,我已经添加了带有ID的ng-style查询一个angularjs对象的dom

在我的控制器中,我需要能够根据数据调用中的对象名称来设置样式。

例如"sD3","dD3"

<div id="sD3" data-ng-style="sD3" class="roundabout-rowDcol3"></div> 
<div id="dD3" data-ng-style="dD3" class="grid-data-rowDcol3"></div> 

比我的控制器使用非常大的开关以外,有另一种方式我可以抓取对象,并设置样式?

事情是这样的:

object = {"background-color": style.backgroundColor, color": style.color,}; 
+2

为什么不创建一个'.css'类为每个对象类型(*在其自己的.css文件*),并使用分配相应的值[ngClass](https://docs.angularjs.org/api/ng/directive/ngClass)? – Igor

+1

我只是想强烈**鼓励你考虑@Igor评论 - 这是“角度的方式”做事情。以其他方式去做是更多的工作,更难以维持,而不是“角度”的方式。 –

回答

1

$scope使用属性访问。

为:

<div id="sD3" data-ng-style="sD3" class="roundabout-rowDcol3"></div> 

用途:

var id = "sD3"; 

$scope[id] = {"background-color": style.backgroundColor, "color": style.color,}; 
+0

哇,谢谢这就是需要...看起来像我需要更多的角度学习.. – jamesT