Angularjs材质设计md选项卡:更改选项卡前验证

Angularjs材质设计md选项卡:更改选项卡前验证,angular,angular-material,Angular,Angular Material,仅当验证函数返回true时,如何调用验证函数并更改md选项卡 如果您的选项卡正在使用路由。。。每个选项卡都有不同的路线。您可以在更改选项卡之前使用防护进行验证 卫兵信息: 警卫是一种拦截器,这是我用于身份验证的警卫的一个示例,希望它能有所帮助 import { Injectable } from '@angular/core'; import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from

仅当验证函数返回true时,如何调用验证函数并更改md选项卡

如果您的选项卡正在使用路由。。。每个选项卡都有不同的路线。您可以在更改选项卡之前使用防护进行验证

卫兵信息:

警卫是一种拦截器,这是我用于身份验证的警卫的一个示例,希望它能有所帮助

  import { Injectable } from '@angular/core';
  import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
  import { Observable } from 'rxjs/Observable';
  import {AuthService} from '../services/auth.service'
  @Injectable()
  export class AuthGuard implements CanActivate {
    constructor(private authservice: AuthService, private router: Router) {
    }

    canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
      if (this.authservice.isAuthenticated()){
        return true;
      } else {
        this.router.navigate(['auth/signIn'], {});

      }
    }

  }
从'@angular/core'导入{Injectable};
从'@angular/Router'导入{CanActivate,Router,ActivatedRouteSnapshot,RouterStateSnashot};
从“rxjs/Observable”导入{Observable};
从“../services/auth.service”导入{AuthService}
@可注射()
导出类AuthGuard实现了CanActivate{
构造函数(专用authservice:authservice,专用路由器:路由器){
}
canActivate(下一步:ActivatedRouteSnapshot,状态:RouterStateSnashot):可观察的|承诺|布尔值{
if(this.authservice.isAuthenticated()){
返回true;
}否则{
this.router.navigate(['auth/signIn'],{});
}
}
}

我确实想要angular 1.5