错误:找不到名称ionViewDidLeave

错误:找不到名称ionViewDidLeave,view,navigation,ionic2,event-listener,View,Navigation,Ionic2,Event Listener,我不知道我离开后哪里出了问题。我从终端收到一个错误,显示“找不到名称ionViewDidLeave”。有什么东西我必须导入才能使用吗?我已经导入了导航控制器 这是我的 ts.file import { Component } from '@angular/core'; import { NavController, ModalController } from 'ionic-angular'; import { EditPost } from '../edit-post/edit-post';

我不知道我离开后哪里出了问题。我从终端收到一个错误,显示“找不到名称ionViewDidLeave”。有什么东西我必须导入才能使用吗?我已经导入了导航控制器

这是我的

ts.file

import { Component } from '@angular/core';

import { NavController, ModalController } from 'ionic-angular';
import { EditPost } from '../edit-post/edit-post';

import { LoadingController } from 'ionic-angular';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class Home {

     buttonColor: string = '#787083'; 


  constructor (public navCtrl: NavController, public modalCtrl: ModalController, public loading: LoadingController) {


//OTHER FUNCTIONS

    /*Navigate to edit page */

    editPost(){
      this.buttonColor = '#553481'; //change button background color on click 
           this.navCtrl.push(EditPost, {})
            .catch(() => {
                // Page requires authentication, re-direct to Login page
                this.navCtrl.setRoot(Login, {routeToPage: 'EditPost'});

            });

            ionViewDidLeave(){

        this.buttonColor = '#787083';

           }; 

    }// end of editPost()

}//close class
HTML

<ion-footer class="footer">
  <ion-segment small class="footer">
                    <ion-segment-button id="post" value="post" (click)="postEvent()" [ngStyle]="{'background-color': buttonColor}" small> <span class="footer">NEW POST</span></ion-segment-button>
                    <ion-segment-button  id="edit" value="edit"  (click)="editPost()" [ngStyle]="{'background-color': buttonColor}" small> <span class="footer">Edit Post</span></ion-segment-button > 
  </ion-segment>
 </ion-footer>

新职位
编辑文章

在方法内部编写时

ionViewDidLeave()
您正在从当前作用域(editPost)函数调用函数。从对象调用的正确方法是:

this.ionViewDidLeave()
但是我想调用它是不对的(ionViewDidLeave是Ionic的页面生命周期的一部分),而且我想您要做的也是定义这个方法,并且在代码中有一个类型。正确的代码应该是:

export class Home {

    buttonColor: string = '#787083'; 

    constructor (public navCtrl: NavController, public modalCtrl: ModalController, public loading: LoadingController) {

    editPost(){
      this.buttonColor = '#553481'; //change button background color on click 
           this.navCtrl.push(EditPost, {})
            .catch(() => {
                // Page requires authentication, re-direct to Login page
                this.navCtrl.setRoot(Login, {routeToPage: 'EditPost'});
            });

    }// end of editPost()


    ionViewDidLeave(){

      this.buttonColor = '#787083';

    };

}//close class