RouterExtension.back () не работает Nativescript Angular - PullRequest
0 голосов
/ 30 мая 2019

У меня есть модуль с именем TransactionModule , который содержит следующие маршруты:

action-routing.module.ts

export const routes: Route[] = [
  {
    path: 'transaction',
    component: TransactionComponent,
    canActivate: [AuthGuard],
    children: [
      {
        path: 'deposit',
        component: DepositComponent,
        outlet: 'depositTab'
      },
      {
        path: 'skrill-deposit',
        component: SkrillDepositComponent,
        outlet: 'depositTab'
      },
      {
        path: 'withdrawal',
        component: WithdrawalComponent,
        outlet: 'withdrawalTab'
      }
    ]
  },

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

<ActionBar title="ActionBar title">
  <NavigationButton android.systemIcon="ic_menu_back" text="Back To Dashboard" (tap)="goBack()"></NavigationButton>
</ActionBar>
<TabView androidTabsPosition="bottom" selectedIndex="0">
  <page-router-outlet *tabItem="{title: 'Deposit'}" name="depositTab" actionBarVisibility="never">
  </page-router-outlet>

  <page-router-outlet *tabItem="{title: 'Withdrawal'}" name="withdrawalTab" actionBarVisibility="never">
  </page-router-outlet>
</TabView>

Вот код компонента:

action.component.ts :

export class TransactionComponent implements OnInit {

  constructor(private routerExtensions: RouterExtensions, 
    private activatedRoute: ActivatedRoute) { }

  ngOnInit() {
    this.routerExtensions.navigate(
      [{ outlets: { depositTab: ['deposit'], withdrawalTab: ['withdrawal'] } }],
      { relativeTo: this.activatedRoute }
   );
  }

  goBack() {
    console.log(this.routerExtensions.canGoBack());
    this.routerExtensions.back();
  }
}

Теперь, что я хочу сделать, это то, что когда нажата кнопка «Назад» в ActionBar, она должна вернуться на панель мониторинга (/ dashboard, это маршрут создания перед переходом к транзакции).Однако, это не работает.

Когда я пытаюсь войти this.routerExtensions.canGoBack () , он возвращает false.Почему это так?Почему я не могу вернуться к панели инструментов?

...