Nativescript Angular, не может backToPreviousPage - PullRequest
0 голосов
/ 12 марта 2019

в моем приложении Nativescript с угловым приложением я не могу вернуться на предыдущую страницу, если в стек добавлена ​​еще одна страница.

Итак, я в основном перехожу к моему chat-window компоненту из моего main-component в коде, подобном следующему:

this.router.navigate(['/chat-window'], {transition: {name: 'slideLeft'}});

В этот момент моя панель действий показывает кнопку "Назад", которая работает нормально! Это возвращает меня к main-component Затем я перехожу от панели действий моего chat-window к chat-history, например:

<ActionItem [nsRouterLink]="['/chat-history']" pageTransition="slideLeft" icon="res://notification"></ActionItem>

Когда я нажимаю кнопку «Назад», она возвращается к chat-window, как и ожидалось. И теперь есть еще одна кнопка «Назад», которая должна вести к основному компоненту. Но то, что раньше работало, уже не работает. Я не получаю ошибок, но могу нажимать кнопку «Назад» столько, сколько хочу, она не работает.

Почему невозможно выполнить goBackToPreviousPage два раза подряд, выполняя строку в стеке страниц? Или я делаю это неправильно?

Вот мои маршруты:

const routes: Routes = [

    {path: '', redirectTo: '/auth-start', pathMatch: 'full'},
    {path: 'auth-start', component: AuthStartComponent},
    { path: "tabview", component: TabviewComponent,
        children: [
            {path: "home", component: HomeComponent, outlet: 'homeOutlet'},
            {path: "chat-rooms", component: ChatRoomsComponent, outlet: 'chatRoomsOutlet'},
            {path: "user-list", component: UserListComponent, outlet: 'userListOutlet'},
            {path: "profile", component: ProfileComponent, outlet: 'profileOutlet'}
        ] },
    {path: "register", component: RegisterComponent},
    {path: "login", component: LoginComponent},
    {path: "chat-window", component: ChatWindowComponent},
    {path: "chat-history", component: ChatHistoryComponent}
];

Моя кнопка «Назад» на панели действий:

<NavigationButton *ngIf="CanGoBack"  text="Back" android.systemIcon="ic_menu_back" (tap)="onGoBack()"></NavigationButton>

связанный код:

constructor(private rExtensions: RouterExtensions) {
  }


  get CanGoBack() {
    return this.rExtensions.canGoBackToPreviousPage();
  }

  onGoBack() {
    this.rExtensions.backToPreviousPage();
  }

Надеюсь, кто-нибудь может мне помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...