AngularJS обновить массив в объекте - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь обновить часть ng-повторения, которая имеет вложенный ng-повтор внутри, как в следующем примере:

<div ng-repeat="product in products">
   <div ng-repeat="color in product.colors"></div>
</div>

информация поступает из объединенного массива.

Array colors
Array products

и объединен в один массив, который выглядит следующим образом:

{ 
 product:"car", 
 brand:"volvo", 
 colors: {
        front: "red",
        roof: "yellow",
};

как я смогу обновить $scope.colors и с этим увидеть эффект от обновления вng-repeat появляется (добавьте другой цвет) без обновления полного $scope.products, конечно, это восстановит все это

Ответы [ 2 ]

0 голосов
/ 03 ноября 2019

хорошо, вместо обновления фактической области, я добавил 'track by product.ID'

ng-repeat="product in products track by product.ID"

, что предотвращает перестройку всей структуры каждый раз и теперь, когда я обновляю массив цветов и повторно запускаю продуктыобъем он обновляет только цвета

0 голосов
/ 02 ноября 2019

как я смогу обновить $scope.colors и с этим увидеть эффект от обновления в ng-repeat

Использование angular.copy:

angular.copy(new_object, $scope.colors);

Для получения дополнительной информации см.

...