NativeScript TabView Navigation - PullRequest
       31

NativeScript TabView Navigation

0 голосов
/ 12 сентября 2018

Я создаю приложение, начинающееся с шаблона приложения NativeScript TabView (https://github.com/NativeScript/template-tab-navigation-ng),), и я не могу понять, как программно перейти к странице в пределах страницы-маршрутизатора-выхода из AppComponent. Пример:

export class AppComponent{

    constructor(private router: RouterExtensions, private currentRoute: ActivatedRoute) {
        // Use the component constructor to inject providers.
    }

    getIconSource(icon: string): string {
        const iconPrefix = isAndroid ? "res://" : "res://tabIcons/";
        return iconPrefix + icon;
    }

    navigateToPage(): void {
        this.router.navigate(['../page'], { relativeTo: this.currentRoute });
    }
}

Это прекрасно работает на странице внутри страницы-маршрутизатора-розетки, но когда я вызываю ее из AppComponent, я получаю сообщение об ошибке консоли, например:

Cannot match any routes. URL Segment: 'page'

Мой фактический код здесь: https://github.com/rchisholm/saint_stan

Моя фактическая полная ошибка здесь, из консоли отладки:

Unhandled Promise rejection: Cannot match any routes. URL Segment: 'novena-day/1' ; Zone: <root> ; Task: Promise.then ; Value: Error: Cannot match any routes. URL Segment: 'novena-day/1' Error: Cannot match any routes. URL Segment: 'novena-day/1'

Моя попытка навигации находится внутри LocalNotifications.addOnMessageReceivedCallback в OnInit в AppComponent.

Кажется, это должно быть просто. Я немного новичок в этом, поэтому любая помощь будет принята с благодарностью.

Я использую последние версии NativeScript, TypeScript и Angular.

Спасибо!

1 Ответ

0 голосов
/ 12 сентября 2018

Это то, как вы переходите к какой-либо вкладке TabView.Ваши магазины должны быть установлены в файле app.routing.ts.

private navigateToFoo() {
    this.routerExtensions.navigate([
        '/YourTabRouting', { outlets: { fooOutlet: ['foo'] } }
    ])
}
...