0
ng-repeatで複数のD3折れ線グラフを描画しているAngularJS Webアプリケーションがあります。バッキングデータが変更されていなくても、グラフは繰り返し再描画されます。私はすべての再描画イベントを(または可能な限り)抑制したいと思います。再描画からD3.jsを停止する
再描画は無作為に無限ではありません。ページに無関係なものが変わると、再描画がトリガーされます。グラフを裏づけるデータは変化していません。それが私を混乱させます。 DOMが変わるたびにグラフが再描画されるようです。
**編集(コードスニペットを追加)**
'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