错误:找不到名称ionviewDidleave



我不确定我在ionviewDidleave上出错了哪里。我从终端中遇到了一个错误,上面写着"找不到名称ionviewDidleave"。我需要进口的东西吗?我已经导入了NavController。

这是我的

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

相关内容

  • 没有找到相关文章

最新更新