Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在ionic 4中返回堆栈时出现问题_Angular_Typescript_Ionic4 - Fatal编程技术网

Angular 在ionic 4中返回堆栈时出现问题

Angular 在ionic 4中返回堆栈时出现问题,angular,typescript,ionic4,Angular,Typescript,Ionic4,我在Angular做我的第一个项目,我不知道如何做一件事,我一直在寻找,但我没有找到我想要的 这是下一个结构。 主页->教程页面->登录页面 当您进入LoginPage,并实际返回或返回显示在左上方的按钮时,我想要的是返回主页。我一直在尝试不同的事情,但对我来说没有任何效果,我的问题是我不知道如何在按下后退键时拨打事件电话。多谢各位 我的login.ts 我还需要它与屏幕上的虚拟按钮一起工作您需要注入平台服务并订阅其backButton,如下所示: import { Component, OnI

我在Angular做我的第一个项目,我不知道如何做一件事,我一直在寻找,但我没有找到我想要的

这是下一个结构。 主页->教程页面->登录页面

当您进入LoginPage,并实际返回或返回显示在左上方的按钮时,我想要的是返回主页。我一直在尝试不同的事情,但对我来说没有任何效果,我的问题是我不知道如何在按下后退键时拨打事件电话。多谢各位

我的login.ts

我还需要它与屏幕上的虚拟按钮一起工作

您需要注入平台服务并订阅其backButton,如下所示:

import { Component, OnInit } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';

@IonicPage()
@Component({
  selector: 'page-login',
  templateUrl: 'login.html',
})
export class LoginPage implements OnInit {

  constructor(public navCtrl: NavController, public navParams: NavParams, private platform: Platform) {
  }

  ngOnInit() {
    this.platform.backButton.subscribe(() => {
      // Physical button pressed
    });
  }

  goToSignUp() {
    this.navCtrl.push("SignupPage");
  }

}
解决我问题的最佳办法就是这样


请原谅我的无知,但我应该把它放在哪里?好的,缺少导入平台,但它可以工作,除了按下back失败之外,你可以看到堆栈的上一页是如何消失的,我只是用我所拥有的更新了我的代码。Poptroot返回到堆栈的第一页根。如果您需要转到堆栈中的上一页,请尝试弹出。如果不是上一页的上一页,我不想返回上一页,也就是说,我想后退两步。不确定这是否仍然适用于Ionic 4,但您可能想尝试一下
import { Component, OnInit } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';

@IonicPage()
@Component({
  selector: 'page-login',
  templateUrl: 'login.html',
})
export class LoginPage implements OnInit {

  constructor(public navCtrl: NavController, public navParams: NavParams, private platform: Platform) {
  }

  ngOnInit() {
    this.platform.backButton.subscribe(() => {
      // Physical button pressed
    });
  }

  goToSignUp() {
    this.navCtrl.push("SignupPage");
  }

}
import { Component, OnInit } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';

@IonicPage()
@Component({
  selector: 'page-login',
  templateUrl: 'login.html',
})
export class LoginPage implements OnInit {

  constructor(public navCtrl: NavController, public navParams: NavParams) {
  }

  ngOnInit() {
    this.navCtrl.removeView(this.navCtrl.getPrevious());
  }

  goToSignUp() {
    let id = this.idRecibido;
    this.navCtrl.push("SignupPage", {id});
  }

}