Можно ли загрузить какой-либо компонент перед компонентом "Приложение"? Angular2
Мое приложение начинается с App
составная часть:
@NgModule({
bootstrap: [ App ]
...
Это мой index.hmtl
...
<app>
Loading...
</app>
...
Но я хочу сделать заставку вместо просто сообщения "Загрузка... ":
...
<app>
<splash></splash>
</app>
...
Также я добавил заставку к объявлениям основного модуля:
...
declarations: [
App,
SplashScreen
],
...
Но... процесс начальной загрузки начинается с App
компонент и Splash
не загружен Как я могу загрузить компонент Splash перед компонентом приложения и использовать его?
3 ответа
Вы не можете загрузить компонент без Angular, поэтому вам, вероятно, нужно создать "статическую" заставку / анимацию загрузки с использованием чистого HTML (и JS, если вам это нужно).
Вы можете сделать AppComponent как можно более легким и добавить <my-actual-app-component *ngIf="dataIsLoaded">my-actual-app-component>
если вы думаете, что рендеринг вашего AppComponent занимает некоторое время. Обычно это просто инициализация самого Angular2.
Компонент приложения будет тем, который вы загружаете из Angular 2. Если вы хотите иметь заставку, вам нужно будет сделать это в своем index.html
, Оттуда вы можете добавить js и css, если вам нужна какая-то анимация, отличная от статического заставки (например, круг загрузки).