Невозможно синхронно загружать данные из базы данных Firebase.
Хотя разработчикам, новым для Firebase, для синхронного метода, обычно не подходит модель синхронизации данных Firebase. Также см. Мой ответ здесь: Установка значения свойства Singleton в Firebase Listener
Я решил эту проблему, обновив mt angular-cli локально в devDependenices (package.json) с 1.2.0 до 1.6.7
Столкнулся с той же проблемой. Перезапуск углового сервера ng-serve
работал для меня.
используйте вместо этого ng serve --aot. Обычно Angular CLI добавляет модуль Angular с ленивой загрузкой в AppModule при его создании.
ng service --aot
, хотя он компилирует ваш код, это не решение, а просто сокрытие. Если вы определили, что это не версия CLI, попробуйте следующее решение.
Что вам нужно сделать, это убедиться, что в app.module.ts
вы не загружаете свой лениво загруженный модуль.
Например:
app.module.ts
imports: [
...
AppRouterModule,
FormsModule,
YourFeatureModule, <--- remove this
...
]
Убедитесь, что YourFeatureMOdule
загружается через routes
, то есть:
app-routing.module.ts
loadChildren: '../app/feature.module#YourFeatureModule'
Надеюсь, это поможет
У меня такая же проблема. Это может быть ошибкой в angular-cli. Я все еще не уверен, есть ли ошибка в cli или в нашем коде! Как упомянуто Герритом , все еще возможно скомпилировать с aot: ng serve --aot
Я также решил проблему, понизив мой angular-cli с 1.7.2 до 1.6.8 , которая является последней CLI-версией, которая, кажется, работает в нашем случае.
Решение 1
Порядок импорта имеет значение import lazy loaded module
вверху и router module
на последнем месте. Поскольку мы выполняем отложенную загрузку, этот загруженный модуль должен существовать до того, как мы осуществим маршрутизацию.
imports: [
BrowserModule,
HeroModule, // Lazy-loaded module
AppRoutingModule
],
Решение 2
Обычно Angular CLI
импортирует module
в app-module
при его создании. поэтому убедитесь, что модуль lazy-loaded
не был импортирован в app-module
У меня была точно такая же проблема, но простой перезапуск сервера узлов (ng s) помог мне.
Как правило: если angular начинает вести себя странно, сначала попробуйте перезапустить сервер узлов
. Как упомянуто в https://github.com/angular/angular-cli/issues/9488#issuecomment-368871510 , похоже, он работает с ng serve --aot
Я изменил порядок импорта в моем app.module.ts
, как упомянуто здесь
Так что вам нужно иметь его, например, так:
imports: [
BrowserModule,
FormsModule,
HeroesModule,
AppRoutingModule
]
Наиболее важным является иметь первый BrowserModule
и в конце AppRoutingModule
.
Не импортируйте ваш лениво загруженный модуль в ваш основной app.module.ts. Это вызовет циклическую зависимость и выдаст ошибку, которую вы получаете.