#javascript #angular #lazy-loading #ngx-bootstrap #ngx-image-cropper
#javascript #угловой #отложенная загрузка #ngx-bootstrap #ngx-image-cropper
Вопрос:
Обратите внимание на некоторый прерывистый сбой загрузки при открытии ngx-bootstrap-modal для загрузки ngx-image-cropper. Я заметил, что до тех пор, пока я открываю модал, перед запуском loadImageFailed(). Программа обрезки загрузится, и, похоже, все работает нормально. Связано ли это с тем, что не отображается в DOM?
Я не могу найти причину этого, или я что-то упустил?
Надеюсь получить некоторый свет на это.
Заранее спасибо.
Вот как выглядит модальный:
<!-- EDIT MODAL -->
<article bsModal #lgModal="bs-modal" class="modal fade" tabindex="-1" role="dialog"
aria-labelledby="dialog-sizes-name1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<form (ngSubmit)="instructorService.updateCover(instructor.id)">
<section class="modal-header">
<h4 id="dialog-sizes-name1" class="modal-title pull-left">EDIT BANNER</h4>
<button type="button" class="close pull-right" (click)="lgModal.hide()" aria-label="Close">
<span aria-hidden="true">amp;times;</span>
</button>
</section>
<section class="modal-body">
<cropper></cropper>
</section>
<section class="modal-footer d-flex bd-highlight">
<div class="mr-auto p-2 bd-highlight">
<input class="overflow-x" type="file" (change)="onSelectFile($event)" hidden #browser>
<button type="button" class="btn btn-pri" (click)="browser.click()"><b>BROWSE</b></button>
</div>
<div class="p-2 bd-highlight">
<button type="button" class="btn btn-sec btn-block"
(click)="lgModal.hide()"><b>CANCEL</b></button>
</div>
<div class="p-2 bd-highlight">
<button type="submit" class="btn btn-dark btn-block px-4"
(click)="lgModal.hide()"><b>SAVE</b></button>
</div>
</section>
</form>
</div>
</div>
</article>
Ответ №1:
Удалось решить эту проблему, подключив ее к методу компонента с отложенной загрузкой. Но я думаю, что это может быть просто обходным путем. Но, эй, пока вы ждете, пока кто-то другой прольет свет, это может просто помочь любому из вас пройти мимо.
Для того, чтобы отложить загрузку компонента. Я нашел эту замечательную статью Netanel Basal.
https://netbasal.com/welcome-to-the-ivy-league-lazy-loading-components-in-angular-v9-e76f0ee2854a
Приветствия ~