У меня есть веб-приложение AngularJS, которое отображает несколько графиков линий D3 в ng-repeat. Графики перерисовываются повторно, даже если данные резервного копирования не изменяются. Я хочу подавить все события перерисовывания (или как можно больше).Остановить D3.js от перерисовки
Перерисовывание не просто беспорядочно. Когда что-то, не связанное на странице, изменяется, происходит перерисовка. Ни одна из данных, поддерживающих график, не меняется, что меня пугает. Похоже, что графики перерисовываются при изменении DOM.
** Edit (добавление фрагментов кода) **
'use strict';
angular.module('alarmAggregator.controllers').controller('HomeCtrl', [
'$scope',
'$routeParams',
'$log',
'Source',
'SaveParameters',
'GetParameters',
'IncidentSearch',
'Waveforms',
'ConfigItems',
'usSpinnerService',
'ImageHelper',
'$http',
'$timeout',
function ($scope, $routeParams, $log, source, saveParameters, getParameters, incidentsSearch, waveforms, configItems, usSpinnerService, imageHelper, $http, $timeout) {
searchService.search($scope.parameters).then(function (result) {
$scope.incidentsList = result.data;
}).finally(function() {
$timeout(function() {
$scope.triggerResizeEvent();
usSpinnerService.stop('search_spinner');
}, 1);
});
<div ng-repeat="inci in incidentsList track by inci.incidentId">
<div ng-repeat="dist in inci.disturbances track by dist.uniqueId">
<div data-ac-chart="'waveform'" data-ac-data="dist.waveforms"></div>
</div>
</div>
Вы используете rootScope вообще для обработки источников данных? –
Я использую $ scope, и все мои данные находятся в одном свойстве объекта $ scope. – Chris
Я довольно много начинаю с AngularJS и знаю немного больше, чем то, как попасть в беду. Есть справедливый шанс, что я использую rootScope, и его просто называют $ scope. Я не знаю, в чем разница. – Chris