Routing 如果表单不为';无效

Routing 如果表单不为';无效,routing,ionic2,angular2-guards,Routing,Ionic2,Angular2 Guards,我有一个基于ionic2标签的应用程序。在一个选项卡上,我有一个表单。当我切换到另一个选项卡时,我希望应用程序阻止,并且表单无效 在ng2中,我可以使用a来处理这类场景,但ionic2中是否有解决方案 从其他帖子中,我了解到ionic2不能像Angular 2那样处理路由 有人能给我一个提示吗? 你可以考虑使用 nGuniTime()/方法。例如,如果用户没有身份验证密钥,则不加载仪表板。在本例中,您将用户重定向回其他组件,即/login import { Component, OnInit}

我有一个基于ionic2标签的应用程序。在一个选项卡上,我有一个表单。当我切换到另一个选项卡时,我希望应用程序阻止,并且表单无效

在ng2中,我可以使用a来处理这类场景,但ionic2中是否有解决方案

从其他帖子中,我了解到ionic2不能像Angular 2那样处理路由


有人能给我一个提示吗?

你可以考虑使用<代码> nGuniTime()/<代码>方法。例如,如果用户没有身份验证密钥,则不加载仪表板。在本例中,您将用户重定向回其他组件,即/login

import { Component, OnInit} from '@angular/core';
declare var User:any;

@Component({
  selector: 'app-dashboard',
  templateUrl: './dashboard.component.html',
  styleUrls: ['./dashboard.component.css'],
  providers: [ResultService]

})



export class DashboardComponent implements OnInit {
 username: string;

 constructor(private router: Router, private resultService: ResultService) {

 }

 ngOnInit() {

  if(!User.hasAuthKey()){
    this.router.navigate(['login']);
  }else{
    var usr = User.checkAuthorized();
    this.username = usr.firstname;
  }

}

可以考虑使用<代码> nGuniTime()/<代码>方法。例如,如果用户没有身份验证密钥,则不加载仪表板。在本例中,您将用户重定向回其他组件,即/login

import { Component, OnInit} from '@angular/core';
declare var User:any;

@Component({
  selector: 'app-dashboard',
  templateUrl: './dashboard.component.html',
  styleUrls: ['./dashboard.component.css'],
  providers: [ResultService]

})



export class DashboardComponent implements OnInit {
 username: string;

 constructor(private router: Router, private resultService: ResultService) {

 }

 ngOnInit() {

  if(!User.hasAuthKey()){
    this.router.navigate(['login']);
  }else{
    var usr = User.checkAuthorized();
    this.username = usr.firstname;
  }

}

我在ionic v2docs中找到了我想要的东西:

事实证明,您可以使用IonViewCanLeave挂钩 在你要离开的页面上

导航警卫: 在某些情况下,开发人员应该能够控制视图的进出。为此,NavController具有IonViewCanCenter和ionViewCanLeave方法。与Angular 2 route guards类似,但与NavController更为集成。例如,如果要阻止用户离开视图


从文章中的上述段落开始阅读,举一个例子

我在ionic v2docs中找到了我想要的东西:

事实证明,您可以使用IonViewCanLeave挂钩 在你要离开的页面上

导航警卫: 在某些情况下,开发人员应该能够控制视图的进出。为此,NavController具有IonViewCanCenter和ionViewCanLeave方法。与Angular 2 route guards类似,但与NavController更为集成。例如,如果要阻止用户离开视图


开始阅读文章中的上述段落,作为示例

谢谢您的回复,这肯定是一个解决方案!但实际上我在ionic2中搜索一个开箱即用的选项卡阻塞选项。很奇怪,爱奥尼亚团队没有从Angular2改编,不是吗?谢谢你的回复,这确实是一个解决方案!但实际上我在ionic2中搜索一个开箱即用的选项卡阻塞选项。很奇怪,爱奥尼亚团队没有从Angular2改编它,不是吗?不幸的是,在ionic2中,当在选项卡之间导航时,IonViewCanLeave似乎(还)不起作用:(.这个导航卫士只有在此时使用手动navController.pop()时才起作用不幸的是,IonViewCanLeave似乎(还)不起作用在ionic2中,在选项卡之间导航时:(。只有在此时手动执行navController.pop()时,此导航卫士才起作用