表和属性绑定中的ng-repeat

时间:2018-09-25 07:23:04

标签: javascript angularjs

我在对象列表上有一个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在嵌套属性中未检测到该更改。

我该如何解决?我还感觉这不是最佳解决方案,因此我们对其他建议都表示赞赏。

0 个答案:

没有答案