使用navigateForward angular 7传递参数

使用navigateForward angular 7传递参数,angular,Angular,我试图在路由上传递一个参数,但它到达时是未定义的。 在登录屏幕上,我通过NavController选项卡调用,但在ActivateRoute选项卡中,路由到达时未定义 export class TabsPage { logado = false; id=0; constructor(public navCtrl: NavController, private route: ActivatedRoute) { } ngOnInit() { this.rou

我试图在路由上传递一个参数,但它到达时是未定义的。 在登录屏幕上,我通过NavController选项卡调用,但在ActivateRoute选项卡中,路由到达时未定义

export class TabsPage {
  logado = false;
  id=0;

  constructor(public navCtrl: NavController, private route: ActivatedRoute) 
  { 

  }

  ngOnInit() {
    this.route.queryParams.subscribe(params => {
        this.id = params["id"];
    });

    if(this.id == undefined || this.id == null || this.id == NaN || this.id < 1){
      this.navCtrl.navigateForward('/login');
      this.logado = false;
    }else{
      this.logado = true;
      this.navCtrl.navigateForward('/home');
    }
}
}
导出类选项卡页{
logado=false;
id=0;
构造函数(公共navCtrl:NavController,专用路由:ActivatedRoute)
{ 
}
恩戈尼尼特(){
this.route.queryParams.subscribe(参数=>{
this.id=params[“id”];
});
if(this.id==undefined | | this.id==null | | | this.id==NaN | | this.id<1){
this.navCtrl.navigateForward('/login');
this.logado=false;
}否则{
this.logado=true;
this.navCtrl.navigateForward('/home');
}
}
}

将您的逻辑移动到queryParams订阅中,使其仅在设置id后运行:

ngOnInit() {
  this.route.queryParams.subscribe(params => {
    this.id = params["id"];

    if (this.id == undefined || this.id == null || this.id == NaN || this.id < 1) {
      this.navCtrl.navigateForward('/login');
      this.logado = false;
    } else {
      this.logado = true;
      this.navCtrl.navigateForward('/home');
    }
  });
}
ngOnInit(){
this.route.queryParams.subscribe(参数=>{
this.id=params[“id”];
if(this.id==undefined | | this.id==null | | | this.id==NaN | | this.id<1){
this.navCtrl.navigateForward('/login');
this.logado=false;
}否则{
this.logado=true;
this.navCtrl.navigateForward('/home');
}
});
}

我正在尝试将整个代码粘贴到此处,但无法获取itEssaéchamada da页面。如果(res.json()!=null){let navigationExtras:navigationExtras={queryParams:{id:res.json()}}this.id=parseInt(res.json());this.router.navigate,则未定义的e-eu-consigo-descobrir-porque-ate-enta-sera-passada-sempre-com-valor>>(['/tabs'],navigationExtras);