Ionic2:'NavController'类型中不存在属性'present'

时间:2017-01-30 09:22:39

标签: ionic2

我正在使用Ionic 2 rc4。我正在遵循建议here并尝试执行以下操作:

import { NavController } from 'ionic-angular';
        ...
    this.nav.present(this.loading).then(() => {

但是,对我来说,NavController似乎没有present函数,因为我得到了:

[ts] Property 'present' does not exist on type 'NavController'.
any

我是对的,还是我做错了什么?他们如何获得这种“幽灵”功能?

任何建议都表示赞赏。

更新

以下是我的代码导致以下错误(在this.loading.present().then(() => {上):

  

"Cannot read property 'nativeElement' of null"

它首次展示装载。但是,如果再次运行alert,则会显示submit()后,会出现此错误。

submit() {
            this.loading.present().then(() => {
                let alert = this.alertCtrl.create({
                    title: 'Verify Email',
                    subTitle: 'Please verify your email address before you log in.',
                    message: 'Check your Spam folder if you cannot find the email.',
                    buttons: [
                        {
                            text: 'Resend',
                            handler: data => {
                                firebaseUser.sendEmailVerification().then((data) => {
                                    this.doAlert('Verify Email', 'Verification Email Sent.').then((data) => {
                                        //navCtrl.setRoot(navCtrl.getActive());
                                    });
                                });
                            }
                        },
                        {
                            text: 'Okay',
                            handler: data => {
                                //navCtrl.setRoot(navCtrl.getActive());
                            }
                        }
                    ]
                });
                alert.present();
                this.loading.dismiss();
            });
}

1 个答案:

答案 0 :(得分:5)

查看此changelog Beta 11

他们已从present删除了Navcontroller个功能。

您需要重构代码并根据您的要求使用其他功能。 this.loading.present()

要查看错误,请查看Loading controller文档。

  

请注意,在解除组件后,它将无法使用   必须再创建另一个。这可以通过以下方式避免   将组件的创建和呈现包装在可重用的中   功能

只是做:

this.loading = this.loadingCtrl.create({
   //loading properties
          });
submit()

之前的this.loading.present()