2017-01-20 7 views
1

Я использую ленивую загрузку с помощью Angular2 и PreloadAllStrategy.Angular2 lazy loaded event

Мне просто интересно, есть ли способ обнаружить, когда все модули предварительно загружены и преформировать действие, когда все предварительно загружено?

Я предполагал, что для этого будет событие маршрутизатора, подобное NavigationStart, например RouteLoaded, но нет.

Любые идеи, как это можно сделать?

+0

Если вы загружаете все модули как можно скорее, не то, что * не * отложенной загрузки? – jonrsharpe

+0

Это ленивая загрузка, но основное приложение загружается первым, а затем остальное приложение. В любом случае я намереваюсь реализовать собственную стратегию предварительной загрузки, но мне нужно иметь событие, которое будет запускаться при первом загрузке модуля. – conor

ответ

1

Решение заключается в реализации SelectivePreloadingStrategy и впрыскивании его в компонент, который должен обнаруживать, когда модуль ленивый. Это описано в руководстве:

https://angular.io/docs/ts/latest/guide/router.html#!#preloading

обновление Связанные Угловая вопрос https://github.com/angular/angular/issues/14036