我创建了基本组件类,该组件类将被大多数组件继承。我这样做是为了避免页面导航和加载属性之类的多余代码。我还创建了一个称为导航服务的服务来集中导航。它与routerExtension有依赖关系。该导航服务使用应用程序注入器注入到基类中,并用于导航到不同的屏幕。 routerExtension可以是服务的依赖关系,还是应该是页面组件的依赖关系?
CustomNavService
constructor(private routerExt: RouterExtensions) {
}
goTo(url: any[]) {
// Set default navigationextra here
// like page transition
this.routerExt.navigate(url);
}
BaseComponent
protected navigationService: CustomNavService;
constructor() {
this.navigationService = AppInjector.getInjector().get(CustomNavService);
}
goTo(url: any[]) {
this.navigationService.goTo(url); // + some navigation options
}
SomeComponent extends BaseComponent
constructor() {
super();
}
process() {
// do some processing
this.goTo(['/some-next-page']);
}