Я работаю над проектом, который в настоящее время является последним Angular RC5 и Material Design. Не то, чтобы последняя часть была актуальной.
Я начинаю создавать отдельные модули и отказываюсь от всего в основном модуле по понятным причинам. Однако мне нужны провайдеры, которые являются общими для всех модулей. F/E У меня есть служба, которая выполняет окончательное подключение к нашей внутренней системе. URL-адреса и т. д. для разных модулей устанавливаются у разных провайдеров. Все эти сервисы в настоящее время также являются частью отдельного проекта git, поскольку я также использую их в наших приложениях iOnic и других интерфейсах.
Итак, как мне пойти и получить этот сервис, который разделяет его экземпляр со всеми модулями, которые я создам для своего проекта?
Также я хотел бы создать панель инструментов, которая показывает «виджеты» из установленных/доступных модулей. Это также зависит от того, что пользователи могут видеть, очевидно. Симулятивные конструкции в Java будут разрешены с помощью сканирования / отражения компонентов. В Angular я бы предположил, что сделаю глобального доступного провайдера, где я мог бы добавить Type для размещения, который затем будет доступен на панели инструментов?
Эта последняя часть может быть сложной с модулями, поскольку все разделено, может ли кто-нибудь поделиться несколькими мыслями? В основном это два вопроса, но я считаю, что они должны разрешить очень похожий ответ.
Редактировать:
Итак, в моем случае я хотел бы знать о существующих маршрутах, это связано с другим вопросом, который я задал, но связан с этим.
Я хотел бы сделать что-то вроде этого
@NgModule({
import:[
BaseModule,
someConstContainingRoutes
],
})
export class SubModuleWithRouting implements OnInit {
//Import routeAuthService from BasicModule
constructor(private routeAuthService: RouteAuthService){};
ngOnInit() {
this.routeAuthService.addRoutes(someConstContainingRoutes);
}
}
Подобный шаблон не позволяет мне возиться с настройкой маршрутов в моем сервисе внутри основного компонента или w/e. Конечно, мы могли бы сделать это при первой загрузке или без нее, но это было бы неправильно.
Я предполагаю, что подобные вещи должны быть сделаны другими разработчиками, но сейчас я не могу понять, какой шаблон подойдет здесь.
Может уже есть такой крючок. Мой BaseModule
ничего не узнает об этом модуле. Мои маршруты могут содержать определенные значения разрешений (которые являются просто перечислением). На хуке canActivate
я хочу проверить это, поэтому я чувствую, что он должен знать о маршруте, поскольку я не могу получить его в хуке canActivate
, и настройка его для каждого разрешения кажется глупой.