在服务含义中注入routerExtension

时间:2019-04-22 08:09:33

标签: nativescript nativescript-angular

我创建了基本组件类,该组件类将被大多数组件继承。我这样做是为了避免页面导航和加载属性之类的多余代码。我还创建了一个称为导航服务的服务来集中导航。它与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']);
}

0 个答案:

没有答案