我在对象列表上有一个ng-repeat
,其中每个对象都有5个属性。
前四个属性是数字和表中显示的实际值,例如:
<tr ng-repeat="object in objects">
<td ng-style="{ 'color': 'object.colors['color1']'}"
ng-mouseenter="changeColor(object ,'color1',true)"
ng-mouseleave="changeColor(object ,'color1',false)" >
{{object .property1}}
</td>
--other three <td> below for properties 2 3 4 in the same way.
我的目标是根据第五个对象属性更改鼠标悬停时特定单元格的颜色,该属性类似于一组成对的{colorname-colorcode}
示例:
Object1.property5= [{'color1'='red'},{'color2' = 'green'}
等。
函数changeColor
具有三个参数:
一个布尔值,仅当鼠标从单元格移开时可以恢复颜色。
function changeColor( object, colorLabel, isOver ) {
if (isOver) {
object.property5[colorLabel] = '#00afec';
} else {
object.property5[colorLabel] = 'black';
}
}
现在,如果我们开始看示例,将鼠标移到对象上将触发该对象的changeColor
。它将color1
属性值正确更改为#00afec
,但是看起来缺少某些绑定,并且ng-style
在嵌套属性中未检测到该更改。
我该如何解决?我还感觉这不是最佳解决方案,因此我们对其他建议都表示赞赏。