нг-повтор в таблице и свойства привязки - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть 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 не обнаруживает это изменение во вложенном свойстве.

Как это исправить?У меня также есть ощущение, что это не оптимальное решение, поэтому любые другие предложения приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...