Ionic2:Property';目前';不存在于类型';导航控制器';

Ionic2:Property';目前';不存在于类型';导航控制器';,ionic2,Ionic2,我使用的是爱奥尼亚2 rc4。我遵循建议,并尝试做以下工作: import { NavController } from 'ionic-angular'; ... this.nav.present(this.loading).then(() => { 但是,在我看来,NavController似乎没有present功能,因为我得到: 我是对的,还是做错了什么?他们如何访问这个“幻影”功能 谢谢你的建议 更新 这是导致以下错误的代码(在this.loading.pr

我使用的是爱奥尼亚2 rc4。我遵循建议,并尝试做以下工作:

import { NavController } from 'ionic-angular';
        ...
    this.nav.present(this.loading).then(() => {
但是,在我看来,
NavController
似乎没有
present
功能,因为我得到:

我是对的,还是做错了什么?他们如何访问这个“幻影”功能

谢谢你的建议

更新

这是导致以下错误的代码(在
this.loading.present()上)。然后(()=>{
):

“无法读取null的属性'nativeElement'”

它第一次显示加载。但是在显示
警报后,如果再次运行
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();
            });
}
查看此测试版11的

他们已从
Navcontroller
中删除
present
功能

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

对于错误,请检查文档

请注意,组件被解除后,它将不可用 必须再创建一个。这可以通过 以可重用的方式包装组件的创建和表示 作用

只要做:

this.loading = this.loadingCtrl.create({
   //loading properties
          });
内部
submit()
this.loading.present()之前

他们已从
Navcontroller
中删除
present
功能

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

对于错误,请检查文档

请注意,组件被解除后,它将不可用 必须再创建一个。这可以通过 以可重用的方式包装组件的创建和表示 作用

只要做:

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

this.loading.present()之前的
submit()
内部
this.loading.present()
。不是作为
@ViewChild
。这不正确吗?它为什么要更改api?我仍然可以
这个.nav.pop()
例如。如果我使用
@ViewChild
,这没有什么区别。@Richard如果我理解正确,当您第二次调用
submit
时会出现错误。您是否使用属性ViewChild定义导航控制器?@ViewChild('myNav'))nav:NavController您在构造函数中定义了NavController吗?是的,我在构造函数中定义了它:
构造函数(public nav:NavController,…)
。不是作为
@ViewChild
。这不正确吗?它为什么要更改api?我仍然可以
这个.nav.pop()
例如。如果我使用
@ViewChild
,这没有什么区别。@Richard如果我理解正确,当您第二次调用
submit
时会出现错误。是的,我使用的是
rc4
。谢谢。我确实尝试了
这个。加载.present()
,我得到了
“无法读取null的属性'nativeElement'”
。当我读到应该这样做时,我正试图修复此错误:
this.nav.present(this.loading)
。我相信这个错误是在
这个时候发生的。加载
还没有准备好。还有什么可以检测到的吗?谢谢。你解决了我的问题。再次感谢。是的,我正在使用
rc4
。谢谢。我确实尝试了
这个。加载.present()
,我得到了
“无法读取null的属性'nativeElement'”
。当我读到应该这样做时,我正试图修复此错误:
this.nav.present(this.loading)
。我相信此错误发生在
this.loading
未准备就绪时。是否仍有方法检测它何时准备就绪?谢谢。您解决了我的问题。再次感谢。