我正在使用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();
});
}
答案 0 :(得分:5)
查看此changelog Beta 11
他们已从present
删除了Navcontroller
个功能。
您需要重构代码并根据您的要求使用其他功能。
this.loading.present()
要查看错误,请查看Loading controller文档。
请注意,在解除组件后,它将无法使用 必须再创建另一个。这可以通过以下方式避免 将组件的创建和呈现包装在可重用的中 功能
只是做:
this.loading = this.loadingCtrl.create({
//loading properties
});
在submit()
之前的this.loading.present()
内