皆さん、私は次の苦境に陥っています。
私は、別の ng-repeat と別の ng-repeat などを含む ng-repeat を持っています (バイナリ ツリー構造に似たものを作成しますが、複数のルートがあります)。問題は、データが適切な構造に挿入され、一部の構造が非常に大きいため、ダイジェストが実際に画面にすべてを表示するのを待っていることです。ダイジェストが構造の最後の要素のレンダリングを終了したことをどのように知ることができますか? 以下を ng-repeates に追加しましたが、ng-repeats も ng-repeated になる可能性があるため、何度も実行されます...テンプレートが読み込まれるたびにではなく、最後のテンプレートが読み込まれたときにのみ通知するにはどうすればよいですか? ng-repeat が終了したときに別のスレッド Calling a functionのおかげで私が持っているものは次のとおりです。
app.directive('onFinishRender', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element, attr) {
if (scope.$last === true) {
$timeout(function () {
scope.$emit('ngRepeatFinished');
});
}
}
}
});
app.directive('onFinishRender', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element, attr) {
if (scope.$last === true) {
$timeout(function () {
scope.$emit('ngRepeatFinished');
});
}
}
}
});
問題は、これが最後の ng-repeat に対して発生することですが、ネストされた ng-repeat の最後の終了がいつ終了したかを判断できないことです.ダイジェストがすべてのテンプレートとネストされたテンプレートのレンダリングを終了したことを検出する方法はありますか?