I run into the following error every now and then.
ERROR Error: Uncaught (in promise): invalid link:MenuPage
at d (polyfills.js:3)
at l (polyfills.js:3)
at Object.reject (polyfills.js:3)
at NavControllerBase._fireError (nav-controller-base.js:322)
at NavControllerBase._failed (nav-controller-base.js:310)
at nav-controller-base.js:365
at t.invoke (polyfills.js:3)
at Object.onInvoke (core.es5.js:4125)
at t.invoke (polyfills.js:3)
at n.run (polyfills.js:3)
at polyfills.js:3
at t.invokeTask (polyfills.js:3)
at Object.onInvokeTask (core.es5.js:4116)
at t.invokeTask (polyfills.js:3)
at n.runTask (polyfills.js:3)
I'm not aware of any steps to reproduce and this error is not causing any problem at all The app is working normally and the Menu Page is displayed correctly.
import { Component, ViewChild } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Nav, Platform } from 'ionic-angular';
@IonicPage({
name: "menu",
segment: "app"
}
)
@Component({
selector: 'page-menu',
templateUrl: 'menu.html'
})
export class MenuPage {}
I had checked my project and the menu page is only used by its IonicPage
name "menu"
.
There is already an ionic forum post but I am already following the proposed accepted solution which is about giving a name to the IonicPage
annotation.
Same thing happens to me sometimes. Likewise I was not able to determine where the error comes from, as it happens only rarely. Looks like a bug with the app scripts, as stopping and starting "ionic serve" seems to solve the issue.
According to your error, it looks like you are trying to use the class name MenuPage
as a deep link. this.navCtrl.push('MenuPage');
ERROR Error: Uncaught (in promise): invalid link:MenuPage
In your case, you declared the deep link as "menu". So you should use:
this.navCtrl.push('menu');
Or if you want, keep using the class, but without quotes: this.navCtrl.push(MenuPage);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With