У меня есть вопросы о том, как CLI генерирует страницы и в основном генерирует маршруты. При создании новой страницы с помощью CLI ng создаются модуль страницы / html / spec / scss и обновляется модуль маршрутизации.
1) По умолчанию страница добавляется лениво загруженным способом в app.routing.module:
{ path: 'test', loadChildren: './test/test.module#TestPageModule' },
А также в test.module, маршрут:
const routes: Routes = [
{
path: '',
component: TestPage
}
];
Также добавлено с пустым путем => Почему? Я думаю, я мог бы удалить все это, это ничего не изменит, не так ли?
2) Я прочитал там: limiting provider-scope-by-lazy-loading-modules что экземпляр службы не совпадает с модулем с отложенной загрузкой.
Затем, если я хочу, чтобы служба была доступна в приложении, событие, хотя оно имеет свойство
@Injectable({
providedIn: 'root'
})
модуль с ленивой загрузкой будет иметь новый экземпляр? Или я не понял.
Пример прост: у меня есть служба, которая извлекает список пользовательских элементов, и служба, которая отображает этот список как свойство. Когда я получаю доступ к деталям элемента на лениво загруженной странице, список пользователей становится пустым от внедренного сервиса, так что я предполагаю, что это новый экземпляр этого ...
В примерах реализации master / detail я видел сервисы, которые извлекают детали при переходе к нему, но не повторно используют список, который уже был создан в другом сервисе.
Я хотел бы знать, почему CLI использует такой способ работы, если у него есть такое ограничение?
Спасибо за вашу помощь.