Ленивая загрузка в Angular Dart - PullRequest
0 голосов
/ 06 ноября 2019

Есть сомнения относительно отложенной загрузки в AngularDart между *deferredContent и @deferred.

AppLayout компонент, который мы используем *deferredContent.

Github у нас есть отклонение от реализации @deferred.

В чем разница между ними?

Я не нашел подробной документации по этому поводу.

1 Ответ

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

Это две совершенно разные концепции, которые имеют похожее имя.

* deferredContent не для отложенной загрузки. Он не предназначен для обнаружения изменений, которые скрыты.

Способ, которым angular работает с содержимым, передаваемым определенным компонентам, таким как панель приложения, в родительском, а не дочернем элементе панели приложения. Таким образом, панель приложения сама по себе не может контролировать, когда происходит обнаружение изменений в этом контенте. Чтобы обойти это, мы используем * deferredContent, чтобы разрешить удаление контента из дерева виджетов, когда ящик закрыт и поэтому не виден.

Это эквивалентно * ngIf = "visible" во многихcontextxts.

Я думаю, что @deffered и * deferredContent могут использоваться одновременно, но я, вероятно, не рекомендую ленивую загрузку до этого уровня, так как я ожидаю, что контент панели приложения потребуется довольно быстро послеприложение загружено.

Более подробная информация здесь: https://github.com/dart-lang/angular_components/blob/37b2b4b940d91747678bd18e29c55c8a876498ee/angular_components/lib/content/deferred_content.dart#L18 Обратите внимание, что ничего не говорится о отложенной загрузке, просто создание.

...