Menjalankan aplikasi ionic 2 di lingkungan dev mogok karena kesalahan:
Kesalahan Waktu Proses
Tidak tertangkap (berjanji): salah
Tumpukan
Kesalahan: Tidak tertangkap (berjanji): salah
di s (http://localhost:8100/build/polyfills.js:3:4211)
di s (http://localhost:8100/build/polyfills.js:3:4034)
di http://localhost :8100/build/polyfills.js:3:4574
di t.invokeTask (http://localhost:8100/build/polyfills.js:3:9723)
di Object.onInvokeTask (http://localhost:8100/build/main.js:38187:37)
di t.invokeTask (http://localhost:8100/build/polyfills.js:3:9659)
di e.runTask (http://localhost:8100/build/polyfills.js:3:7083)
di saya (http://localhost:8100/build/polyfills.js:3:3671)
Kerangka Ionik: 2.0.0-rc.5
Asli ionik: 2.2.11
Skrip Aplikasi Ionic: 1.0.0
Inti Sudut: 2.2.1
CLI Kompilator Sudut: 2.2.1
Node: 6.9.4
Platform OS: Windows 10
Platform Navigator: Win32
Agen Pengguna: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/55.0.2883.87 Safari/537.36
Instal ulang baru -g ionic, instal node_modules baru.
Informasi sistem Anda:
ordova CLI: 6.4.0
Versi Kerangka Ionik: 2.0.0-rc.5
Versi CLI Ionik: 2.2.1
Versi Lib Aplikasi Ionic: 2.2.0
Versi Skrip Aplikasi Ionic: 1.0.0
versi ios-deploy: Tidak diinstal
versi ios-sim: Tidak diinstal
OS: Windows 10
Versi Node: v6.9.4
Versi Xcode: Tidak diinstal
Saya memiliki kesalahan yang sama dengan rc4 dan build malam tidak membantu.
Ini berfungsi tanpa kesalahan pada rc3 dan sebelumnya
Kami tidak bisa mendapatkan apa-apa hanya dari ini, Anda harus mengikuti template masalah. Saya akan merekomendasikan ionic serve
untuk melihat kesalahan apa yang Anda dapatkan di browser. Tapi ya tolong bagikan kode dan informasi lainnya.
Saya mendapatkan kesalahan ini setelah menutup modal
Lihatlah kode modal Anda dan pastikan tidak ada hal aneh yang terjadi pada acara penutupan.
dismiss() {
this.viewCtrl.dismiss();
}
Apakah semua yang saya lakukan?
+1
masalah yang sama saat menggunakan LoadingController atau ActionSheetController
Lihat metode penolakan Anda di halaman utama Anda. Biasanya hal semacam ini adalah masalah pengembang. Jika ada, lihat tumpukan panggilan di konsol.
Pada 16 Januari 2017, 8:00 AM -5000, Beylkhanov Damir [email protected] , menulis:
>
+1
masalah yang sama—
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub (https://github.com/driftyco/ionic/issues/10046#issuecomment-272856264), atau nonaktifkan utasnya (https://github.com/notifications/unsubscribe-auth /AEPIElAzcg8Rsqpf1HzX2q1EgPhFg-6cks5rS2nngaJpZM4LkFyw).
@wbhob Saya baru saja memutar kembali ke RC4 dan masalahnya hilang. Saya memiliki repo di GitHub jika Anda ingin menggunakannya untuk tujuan pemecahan masalah. Biarkan aku tahu
apakah Anda menggunakan ionViewCanLeave?
@manucorporat Tidak yakin untuk siapa pertanyaan Anda, tapi saya tidak menggunakan ionViewCanLeave. Saya menggunakan ionViewDidLoad() jika itu membantu
Saya menggunakan ionViewCanLeave dan saya juga mendapatkan kesalahan ini. +1
Saya menghadapi kesalahan ini juga. +1
Inilah masalahnya:
nav.push(), .pop(), viewcontroller.dismiss() dan family mengembalikan janji karena transisi sebenarnya dapat ditolak, misalnya dengan mengembalikan false di ionViewCanLeave/CanEnter.
Pastikan Anda "menangkap" janji dengan melakukan:
this.view.dismiss().catch(() => console.log('view was not dismissed'));
Ketika saya "menangkap" .dismiss()
di LoadingController saya, masalahnya hilang. Jadi intinya, sepertinya kita SELALU harus "menangkap" setiap pemberhentian () dalam kode kita hanya untuk aman. Benar?
Apakah ada di antara Anda yang menggunakan Firebase di aplikasi Anda? Mungkin terkait dengan ini: https://github.com/driftyco/ionic/issues/9589
Memiliki masalah yang sama, menambahkan .catch()
akan menghentikan kemunculan kesalahan.
Namun, saya juga mengirimkan data dalam panggilan dismiss()
. Ketika fungsi OnDidDismiss
kemudian dieksekusi, data yang diterimanya selalu undefined
.
@brandyscarney Ya, saya menggunakan Firebase
Dalam kasus saya, pemberhentian () dari LoadingController yang menyebabkan crash.
Saya telah mengubahnya dari
this.loading.dismiss();
ke
this.loading.dismiss().catch(() => console.log('ERROR CATCH: LoadingController dismiss'));
Ini berfungsi di rc3 dan sebelumnya tetapi mogok di rc4 dan rc5
+1
Halo semuanya! Jadi hanya untuk membersihkan semuanya di sini, kalian hanya mendapatkan masalah ini saat menggunakan firebase benar? Apakah kalian juga menggunakan firebase js sdk atau AngularFire2 ?
Juga, jika Anda menggunakan firebase, bisakah Anda memberi tahu saya metode firebase mana yang Anda gunakan ketika Anda mendapatkan kesalahan ini?
Hai teman-teman, saya baru saja menulis sesuatu tentang itu di masalah lain, lihat dan beri tahu saya jika itu memperbaikinya untuk Anda: https://github.com/driftyco/ionic/issues/9589#issuecomment -274121299
Saya mendapatkan beberapa masalah aneh yang tampaknya terkait dengan pengontrol peringatan. Kedua cuplikan di bawah ini menghasilkan kesalahan Uncaught in Promise yang sama, dan ini ada hubungannya dengan membuat pemuatan setelah mengabaikan konfirmasi.
Saya mencoba berbagai cara dalam melakukan sesuatu dan mendapatkan hasil yang sama, meskipun saya memiliki masalah aneh lainnya.
// Show the confirmation
let confirm = this.alertCtrl.create({
title: 'Delete category?',
message: 'Are you sure you wish to delete this category?',
buttons: [
{ text: 'No' },
{
text: 'Yes',
handler: () => {
confirm.dismiss({ delete: true });
}
}
]
});
// Bug in RC5?
confirm.present();
confirm.onDidDismiss((doDelete: any) => {
if (doDelete.delete) {
this.doDelete(category);
}
});
handler: () => {
confirm.dismiss().then(() => {
let loading = this.loadingCtrl.create({
content: 'Deleting category...'
});
loading.present().then(() => {
Dalam kedua kasus, error setelah loading.present() dipanggil. Saya menjalankan proyek cordova, ionic, dan RC5 terbaru (bersih).
Terima kasih untuk contoh kode @davec21 ! Saya sekarang dapat mereproduksi masalah ini dan sedang mencari perbaikan untuk itu.
@jgw96 Luar biasa! Senang Anda dapat mereproduksinya, saya membenturkan kepala saya ke meja mencoba mencari tahu.
haha Saya telah menghabiskan banyak waktu membenturkan kepala saya ke meja (:
Tampaknya terkait dengan pemberhentian () dari kotak konfirmasi (AlertController). Berdasarkan sedikit pengujian, sepertinya segera setelah Anda berlangganan yang dapat diamati (setelah pemberhentian dipanggil) itu melempar kesalahan.
Jika saya tidak memanggil pemberhentian () secara manual dan membiarkannya menutup maka semuanya tampak baik-baik saja.
@davec21
Jika saya tidak memanggil pemberhentian () secara manual dan membiarkannya menutup maka semuanya tampak baik-baik saja.
hmmm, dalam kasus Anda, Anda harus mengaktifkan pengaturan pemberhentianOnPageChange (misalnya untuk AlertController), jika tidak, itu tidak akan berfungsi juga
Kesalahan yang sama di sini, tetapi mendapatkannya dengan ToastController
.
Terjadi ketika saya memiliki roti panggang yang aktif dan mengubah rute.
Saya memiliki dismissOnPageChange: true
namun.
Rute navigasi saya untuk mengaktifkan 'sesuatu' yang memuat melalui LoadingController
di kait ionViewDidLoad
.
@niklas-dahl
anda dapat mencoba pendekatan ini yang juga berhasil untuk saya
loading.dismiss().then(() => {
//navigation or other staff
});
PS setel pemberhentianOnPageChange ke false
@beylkhanovdamir
hmmm, dalam kasus Anda, Anda harus mengaktifkan pengaturan pemberhentianOnPageChange (misalnya untuk AlertController), jika tidak, itu tidak akan berfungsi juga
Saya tidak mengubah halaman sekalipun. Saya hanya memanggil pemberhentian pada dialog di handler untuk tombol. Jika masalahnya tidak menggunakan itu, maka itu mungkin harus dinamai sesuatu yang lain. Kode Anda secara efektif adalah apa yang saya lakukan (jika Anda membaca cuplikan saya).
Fungsi "handler" HARUS memiliki "return false".
Penting untuk dicatat bahwa handler mengembalikan false. Fitur penangan tombol adalah mereka secara otomatis mengabaikan peringatan ketika tombol mereka diklik, namun, kami akan membutuhkan lebih banyak kontrol terkait transisi. Karena handler mengembalikan false, maka lansiran tidak secara otomatis mengabaikan dirinya sendiri. Alih-alih, Anda sekarang memiliki kendali penuh saat lansiran selesai bertransisi, dan kemampuan untuk menunggu lansiran selesai bertransisi sebelum memulai transisi baru.
Dari: https://ionicframework.com/docs/v2/api/components/alert/AlertController/
Ini memecahkan masalah bagi saya. XD
Hai,
Saya menghadapi masalah yang sama dengan LoadingController dengan pemecatanOnP ageChange:true dan RC6
Jika saya menggunakan metode pemecatan() itu masih gagal jika saya tidak menangkap() kesalahannya, tetapi tidak ada cara untuk membuatnya bekerja dengan pemecatanOnP ageChange:true yang sebenarnya saya inginkan, saya tidak ingin mengabaikan secara manual setiap Pengontrol Pemuatan.
Terima kasih dan salam.
Saya melihat ini juga dengan ModalController. Tidak menggunakan Firebase (rencana untuk).
let modal = this.modalCtrl.create(ModalSearchPage);
modal.onDidDismiss(data => {
console.log(data);
});
modal.present();
ModalSearchPage html
<form [formGroup]="todo" (ngSubmit)="handleOk($event)">
<ion-item>
<ion-label>Todo</ion-label>
<ion-input type="text" formControlName="title"></ion-input>
</ion-item>
<ion-item>
<ion-label>Description</ion-label>
<ion-textarea formControlName="description"></ion-textarea>
</ion-item>
<button ion-button type="submit" [disabled]="!todo.valid">Ok</button>
<button ion-button [disabled]="!todo.valid" (click)="handleCancel($event)">Cancel</button>
</form>
Typescript Halaman ModelSearch
todo = {};
constructor(public viewCtrl: ViewController, private formBuilder: FormBuilder) {
this.todo = this.formBuilder.group({
title: ['', Validators.required],
description: [''],
});
}
handleOk() {
let data = { 'foo': 'bar' };
this.viewCtrl.dismiss(data);
}
handleCancel() {
this.viewCtrl.dismiss();
}
Jadi ini gagal tetapi hanya pada pembatalan. Mencoba semua opsi di atas dan terus gagal setiap kali pemecatan dipicu. OnDidDismiss menyala... tapi kemudian kita mendapatkan yang tidak tertangkap;
Namun, ketika saya menarik tombol batal dari formulir, maka saya tidak lagi mendapatkan kesalahan.
Hai semuanya,
Terima kasih untuk semua komentar! Kami tidak lagi dapat mereproduksi masalah ini menggunakan versi final 2.0.0
. Jika Anda tidak diperbarui ke versi final, silakan periksa changelog untuk langkah-langkah memperbarui antar versi: https://github.com/driftyco/ionic/blob/master/CHANGELOG.md
Jika Anda masih mengalami masalah ini, buat masalah baru. Pastikan untuk mengisi template masalah yang disediakan termasuk langkah-langkah untuk mereproduksi dengan repositori atau plunker yang dapat kita gunakan. Saya akan menutup masalah ini karena sulit bagi kita untuk membedakan antara siapa yang masih mengalami masalah dan siapa yang tidak. Terima kasih! :)
Masalah yang sama terjadi pada 2.0.0. Jika saya tidak menelepon this.loading.dismiss();
kesalahan hilang.
Dan saya tidak menggunakan Firebase.
ngOnInit() {
this.bulletins = this.bulletinService.bulletins$.do(
collection => { this.hideSpinner() },
error => {
this.hideSpinner()
this._events.publish('notice', { alertCtrl: this.alertCtrl, message: "There seems to be a problem loading bulletins. Please try again later.", title: 'Error' })
}
)
this.showSpinner()
}
private showSpinner() {
this.loading = this.loadingCtrl.create({
spinner: 'dots',
content: 'Loading...'
});
this.loading.present();
}
private hideSpinner() {
if (this.loading !== undefined) {
this.loading.dismiss();
}
}
Cordova CLI: 6.3.1
Versi Kerangka Ionik: 2.0.0
Versi CLI Ionik: 2.2.1
Versi Lib Aplikasi Ionic: 2.2.0
Versi Skrip Aplikasi Ionic: 1.0.0
versi penyebaran ios: 1.8.5
versi ios-sim: 5.0.6
OS: macOS Sierra
Versi Node: v6.7.0
Versi Xcode: Xcode 8.2.1 Versi build 8C1002
Hai @AdrianTeh , maukah Anda membuka edisi baru?
Apakah ada masalah baru yang dibuka untuk ini? Saya masih mengalami masalah saat menggunakan pemberhentianOnPageChange: true di lonic 2.0.1
Saya masih memiliki masalah ini juga di Modalcontroller.
Saya baru saja membuat aplikasi kosong baru, dan mencoba meneruskan data dari modal saya kembali ke tampilan utama.
Saya tidak perlu menambahkan blok tangkap setelah blok pemberhentian().
this.viewCtrl.dismiss(this.notiz).catch(() => {});;
@blakezeisler 2.0.1?
Ya!
cordova CLI: 6.5.0
Versi CLI Ionik: 2.2.1
Versi Lib Aplikasi Ionic: 2.2.0
versi ios-deploy: Tidak diinstal
versi ios-sim: Tidak diinstal
OS: Windows 10
Versi Node: v6.9.5
Versi Xcode: Tidak diinstal
"ionic-angular": "2.0.1"
ya, maksud saya 2.0.1
Saya mendapatkan masalah ini di ionic 2.0.1
Saya mendapatkan masalah ini juga dengan ionic 2.1.0.
Itu hanya terjadi dengan perangkat (jadi ketika plugin berfungsi).
Itu hanya terjadi dengan push atau pop dari NavCtrl; itu tidak akan pernah terjadi dengan Loading atau Alert karena saya telah menambahkan .catch() ke semuanya.
Dari stacktrack asli tampaknya terjadi di dalam kode transisi.
Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.8
Node Version: v6.10.0
Xcode version: Not installed
paket.json:
"dependencies": {
"@angular/common": "2.2.1",
"@angular/compiler": "2.2.1",
"@angular/compiler-cli": "2.2.1",
"@angular/core": "2.2.1",
"@angular/forms": "2.2.1",
"@angular/http": "2.2.1",
"@angular/platform-browser": "2.2.1",
"@angular/platform-browser-dynamic": "2.2.1",
"@angular/platform-server": "2.2.1",
"@ionic/storage": "1.1.7",
"ionic-angular": "2.1.0",
"ionic-native": "2.5.1",
"ionicons": "3.0.0",
"rxjs": "5.0.0-beta.12",
"sw-toolbox": "3.4.0",
"zone.js": "0.6.26"
},
"devDependencies": {
"@ionic/app-scripts": "1.1.4",
"typescript": "2.0.9"
}
Di sini, di proyek saya, saya menggunakan ionViewCanEnter()
untuk memeriksa apakah perangkat terhubung ke internet.
Tentu saja, karena status koneksi tidak dikembalikan secara instan, kueri harus dilakukan secara tidak sinkron, itu sebabnya saya menggunakan Promises di sana.
Jika tidak terhubung, janji akan menyelesaikan mengembalikan nilai palsu kembali ke ionViewCanEnter()
.
misalnya
ionViewCanEnter() {
return whenConnected(this.networkService, this.appMessages, this.navCtrl);
}
Kode di atas memanggil fungsi whenConnected
yang mengembalikan Janji
Fungsi itu memiliki kode yang mirip dengan ini:
whenConnected() : Promise<boolean> {
return this.deviceService.ready.then(() => {
if(this.deviceService.connected){
return true;
}else{
return false;
}
});
}
PERHATIAN : Kode di atas tidak mewakili kode sebenarnya untuk mendapatkan status koneksi perangkat. Yang asli sedikit lebih rumit dan tidak berguna untuk contoh ini. Saya baru saja menyederhanakannya untuk menunjukkan bagaimana saya menggunakan Janji untuk mencapai masalah pada proyek saya.
Kesimpulan
Dengan kode ini saya mendapatkan kesalahan ketika janji diselesaikan dengan nilai salah yang harus digunakan untuk memberi tahu pengontrol navigasi bahwa tampilan TIDAK BISA masuk.
PEMBARUAN 1: Ini Ionic2 versi 2.1.0.
Jejak tumpukan:
Error: Uncaught (in promise): false
at s (polyfills.js:3)
at polyfills.js:3
at Object.ti.reject (nav-controller-base.js:187)
at nav-controller-base.js:462
at t.invoke (polyfills.js:3)
at Object.onInvoke (ng_zone.js:236)
at t.invoke (polyfills.js:3)
at e.run (polyfills.js:3)
at polyfills.js:3
at t.invokeTask (polyfills.js:3)
Semoga membantu memecahkan masalah ini.
Terima kasih banyak !
saya mendapatkan kesalahan ini (gambar terlampir) ketika saya menjalankan kode ini di bawah saya menggunakan plugin ionic 2 dan google maps
impor { Komponen } dari '@angular/core';
impor { NavController } dari 'ionic-angular';
impor {
Peta Google,
Acara GoogleMaps,
GoogleMapsLatLng,
KameraPosisi,
Opsi GoogleMapsMarker,
GoogleMapsMarker
} dari 'ionik-asli';
@Komponen({
pemilih: 'halaman-kontak',
templateUrl: 'kontak.html'
})
kelas ekspor Halaman Kontak {
konstruktor (navCtrl publik: NavController) {
}
ngAfterViewInit() {
this.loadMap();
}
bebanPeta(){
// buat peta baru dengan melewatkan HTMLElement
biarkan elemen: HTMLElement = document.getElementById('map');
biarkan peta = new GoogleMap(elemen);
// buat objek LatLng
let ionic: GoogleMapsLatLng = new GoogleMapsLatLng(43.0741904,-89.3809802);
// buat Posisi Kamera
biarkan posisi: CameraPosition = {
sasaran: ionik,
perbesar: 18,
kemiringan: 30
};
// dengarkan acara MAP_READY
map.one(GoogleMapsEvent.MAP_READY).lalu(() => {
// pindahkan kamera peta ke posisi
peta.moveCamera(posisi); // berfungsi di iOS dan Android
});
// buat penanda baru
biarkan markerOptions: GoogleMapsMarkerOptions = {
posisi: ionik,
judul: 'ionik'
};
map.addMarker(markerOptions)
.then((penanda: GoogleMapsMarker) => {
marker.showInfoWindow();
});
}
}
Saya percaya kesalahan ini terjadi setiap kali modal diakses/dibuka dengan mendorongnya ke dalam array NavController alih-alih menggunakan fungsi .present()
aslinya.
Mencoba .dismiss()
itu akan gagal karena modalnya tidak pernah "_presented_"...
(Pendapat baru saya, tho'... Sangat baru untuk Ionic 2 dan Angular/TS.)
Saya menghadapi masalah yang sama juga di 3.0.1 :
let loading = loadingController.create({
spinner : 'hide',
content : `Loading...`
});
loading.present().then(() => {
//do some work
});
//Do some more work
loading.dismiss();
Informasi ionik:
Cordova CLI: 6.5.0
Versi Kerangka Ionik: 3.0.1
Versi CLI Ionik: 2.2.2
Versi Lib Aplikasi Ionic: 2.2.1
Versi Skrip Aplikasi Ionic: 1.3.0
versi ios-deploy: Tidak diinstal
versi ios-sim: 5.0.8
OS: macOS Sierra
Versi Node: v6.10.1
Versi Xcode: Xcode 8.2.1 Versi build 8C1002
Pesan eror:
Uncaught (in promise): false
at g (polyfills.js:3)
at l (polyfills.js:3)
at l (polyfills.js:3)
at polyfills.js:3
at t.invokeTask (polyfills.js:3)
at Object.onInvokeTask (core.es5.js:4136)
at t.invokeTask (polyfills.js:3)
at n.runTask (polyfills.js:3)
at a (polyfills.js:3)
Masalah ini harus dibuka kembali.
Ya @chandanch @jgw96 Masalah ini terjadi setelah saya memutakhirkan ke ionic 3...
sepertinya masalah LoadController ...
Saya melakukan debugging menyeluruh dari kode saya dan saya menemukan bahwa Dalam satu contoh saya memanggil dismiss()
dua kali. Jika Anda memanggil dismiss()
lagi untuk LoadingController yang sudah ditutup, Anda akan mendapatkan kesalahan ini.
Dalam contoh lain jika jika pemuatan diberhentikan bahkan sebelum itu dibuat.
@chandanch @jgw96
ini kode saya
**ionViewDidLoad() {
this.platform.ready()
.then(() =>
{
this.books = this.angFire.database.list('/books');
loading.dismiss();
});
let loading = this.loadingCtrl.create({content:'My message'});
loading.present();
console.log(this.angFire.database.list('/books'));
}**
saya menemukan kesalahan Uncaught (dalam janji): false setelah memutakhirkan ke ionic 3.0.0
setelah menghapus loadingcontroller, kesalahan hilang
Sepertinya ada yang salah dengan controller setelah upgrade.
Mohon bimbingannya untuk mengatasi masalah ini. Saya ingin menambahkan pemuatan sebelum platform siap...
@chenlitchian sepertinya Anda mengabaikan pemuatan yang tidak dibuat. Atau kode tersebut sebagian dibagikan di sini Oleh karena itu mengembalikan Anda pengecualian janji yang tidak tertangkap.
this.platform.ready().then(() => {
this.books = this.angFire.database.list('/books');
// Here you are dismissing loading which is not created
loading.dismiss();
});
Coba lakukan dengan cara ini menggunakan ionViewDidLoad .
ionViewDidLoad() {
let loader = this.loadingController.create({
spinner : 'hide',
content : `Loading...`
});
loader.present.then(() => {
this.books = this.angFire.database.list('/books');
loader.dismiss().then(() => {
console.log("Loading dismissed");
});
})
}
@chandanch Ya, terima kasih. Itu berhasil...
Saya mendapatkan kesalahan ini ketika saya menggunakan lembar tindakan dan mengabaikannya dengan mengetuk latar belakang (menggunakan versi 2.0.0, tetapi sepertinya kesalahan yang sama ini terjadi untuk berbagai versi klien rilis dan lebih tinggi). Saya tidak melihat cara menambahkan penanganan kesalahan ke pemberhentian yang dipanggil dengan mengetuk latar belakang. Bantuan apa pun akan dihargai di sini.
@GerryFudd Bisakah Anda membagikan kode atau plunkernya? Kita bisa mendapatkan gambaran yang lebih baik.
Saya mendapatkan kesalahan, saya tidak pernah menggunakan firebase :)
Saya mendorong halaman dari menu seperti halaman dengan yang berikut:
this.NavController.push(page.component);
Halaman yang didorong memiliki
// 20170518
ionViewWillLeave() {
//
// http://stackoverflow.com/questions/43175186/ionic-2-tabs-reset-view-when-clicking-another-tab
// enable if we want to pop/reset to upon user switching view eg.tabs
this.NavController.pop();
}
lalu saya beralih tab, tanpa mundur dan saya mendapatkan kesalahan
core.es5.js:1084 ERROR Error: Uncaught (in promise): navigation stack needs at least one root page
at c (polyfills.js:3)
at Object.reject (polyfills.js:3)
at Tab.NavControllerBase._fireError (nav-controller-base.js:322)
at Tab.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 r.run (polyfills.js:3)
at polyfills.js:3
informasi ionik
global packages:
@ionic/cli-utils : 1.0.0
Cordova CLI : 7.0.0
Ionic CLI : 3.0.0
local packages:
@ionic/app-scripts : 1.3.7
@ionic/cli-plugin-cordova : 1.0.0
@ionic/cli-plugin-ionic-angular : 1.0.0
Ionic Framework : ionic-angular 3.2.0
System:
Node : v7.2.0
OS : Windows 7
Xcode : not installed
ios-deploy : not installed
ios-sim : not installed
Terima kasih
Buka modal, lalu klik tombol kembali.
ERROR Error: Uncaught (in promise): invalid views to insert
at c (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:4128)
at t.invoke (polyfills.js:3)
at r.run (polyfills.js:3)
at polyfills.js:3
defaultErrorLogger @ core.es5.js:1084
ErrorHandler.handleError @ core.es5.js:1144
IonicErrorHandler.handleError @ ionic-error-handler.js:63
next @ core.es5.js:4757
schedulerFn @ core.es5.js:3830
SafeSubscriber.__tryOrUnsub @ Subscriber.js:238
SafeSubscriber.next @ Subscriber.js:185
Subscriber._next @ Subscriber.js:125
Subscriber.next @ Subscriber.js:89
Subject.next @ Subject.js:55
EventEmitter.emit @ core.es5.js:3816
NgZone.triggerError @ core.es5.js:4188
onHandleError @ core.es5.js:4149
t.handleError @ polyfills.js:3
r.runGuarded @ polyfills.js:3
(anonymous) @ polyfills.js:3
e.microtaskDrainDone @ polyfills.js:3
o @ polyfills.js:3
invoke @ polyfills.js:3
__INFO__
global packages:
@ionic/cli-utils : 1.0.0
Ionic CLI : 3.0.0
local packages:
@ionic/app-scripts : 1.3.7
@ionic/cli-plugin-ionic-angular : 1.1.2
Ionic Framework : ionic-angular 3.2.1
System:
Node : v7.10.0
OS : macOS Sierra
Xcode : Xcode 8.3.2 Build version 8E2002
ios-deploy : 1.8.6
ios-sim : 5.0.8
Solusi sederhana mungkin menambahkan setTimeout(() => {lakukan tindakan di sini ...}, 500);
Tindakan dapat mengubah nav.setRoot(Nama Komponen) atau nav.push(Nama Komponen) .
Ini menghapus kesalahan untuk saya.
semua berfungsi dengan baik, tetapi sekarang saya tidak tahu apa yang saya ubah, saya mendapatkan kesalahan dengan:
`this.navCtrl.push(Halaman Utama);
Kesalahan: Tidak tertangkap (dalam janji): tampilan tidak valid untuk dimasukkan
di c (http://localhost:8100/build/polyfills.js:3:13190)
di Object.reject (http://localhost:8100/build/polyfills.js:3:12546)
di NavControllerBase._fireError (http://localhost:8100/build/main.js:48745:16)
di NavControllerBase._failed (http://localhost:8100/build/main.js:48733:14)
di http://localhost :8100/build/main.js:48788:59
di t.invoke (http://localhost:8100/build/polyfills.js:3:8971)
di Object.onInvoke (http://localhost:8100/build/main.js:4657:37)
di t.invoke (http://localhost:8100/build/polyfills.js:3:8911)
di r.run (http://localhost:8100/build/polyfills.js:3:4140)
di http://localhost :8100/build/polyfills.js:3:13731
Kerangka Ionik: 3.5.0
Skrip Aplikasi Ionik: 1.3.12
Inti Sudut: 4.1.3
CLI Kompilator Sudut: 4.1.3
Simpul: 8.1.0
Platform OS: Linux 4.8
Platform Navigator: Linux x86_64
Agen Pengguna: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/59.0.3071.86 Safari/537.36
`
terima kasih jika ada yang punya ide
@webmobiles Harap hapus posting di atas dan buka sebagai yang baru dengan lebih detail. Anda menggunakan Ionic 3.5.0
.
Di sini: https://github.com/ionic-team/ionic/issues/new
Ini berhasil! Terima kasih
Hai,
Saya menghadapi kesalahan ini.
@TwalibuMsangi - apakah Anda mengimpor modul yang tepat? Tutorial TOH menjelaskan cara melakukannya di sini: https://angular.io/tutorial/toh-pt6. Mereka menggunakan HttpClient
dan Anda tampaknya menggunakan modul Http
, tetapi konsepnya pada dasarnya sama. Hanya detailnya yang berbeda (FWIW, saya sarankan menggunakan HttpClient
jika Anda bisa (tidak yakin versi Angular yang Anda gunakan).
hey guys um saya agak baru dalam hal ini saya bertanya-tanya apakah saya bisa mendapatkan bantuan .... Saya mengalami masalah dalam mengirimkan data antar halaman menggunakan ngOnInIt, navParams dan navController
hai, saya punya masalah karena saya ingin menggunakan plugin eksternal dan tidak berfungsi dan saya tidak tahu mengapa, namanya com.lampa.startapp dan ini adalah satu-satunya pemikiran yang saya butuhkan untuk menyelesaikan aplikasi saya. tolong jika seseorang dapat membantu saya melakukannya lebih cepat. di sini kesalahannya.
Error: Uncaught (en promesa): ReferenceError: startApp no está definido ReferenceError: startApp no está definido en http: // localhost: 8100 / build / main.js: 497: 27 en t.invoke (http: / / localhost: 8100 /build/polyfills.js:3:14976) en Object.onInvoke (http: // localhost: 8100 / build / vendor.js: 5134: 33) en t.invoke (http: // localhost: 8100 / build / polyfills .js: 3: 14916) en r.run (http: // localhost: 8100 / build / polyfills.js: 3: 10143) en http: // localhost: 8100 / build / polyfills.js: 3 : 20242 en t .invokeTask (http: // localhost: 8100 / build / polyfills.js: 3: 15660) en Object.onInvokeTask (http: // localhost: 8100 / build / vendor.js: 5125: 33) en t .invokeTask (http : // localhost: 8100 / build / polyfills.js: 3: 15581) en r.runTask (http: // localhost: 8100 / build / polyfills.js: 3: 10834) en c (http: / / localhost: 8100 /build/polyfills.js:3:19752) en http: // localhost:8100 / build / polyfills.js: 3: 20273 en t.invokeTask (http: // localhost: 8100 / build / po lyfills.js: 3: 15660) en Object.onInvokeTask (http: // localhost: 8100 / build / vendor .js: 5125: 33) en t.invokeTask (http: // localhost: 8100 / build / polyfills.js: 3: 15581) en r.runTask (http: // localhost: 8100 / build / polyfills.js: 3 : 10834) en o (http: // localhost: 8100 / build / polyfills.js: 3: 7894) en e .invokeTask [como invocación] (http: // localhost: 8100 / build / polyfills.js: 3: 16823 ) en p (http: // localhost: 8100 / build / polyfills.js: 2: 27648) en HTMLImageElement.v (http: // localhost: 8100 / build / polyfills.js: 2: 27893)runTask (http: // localhost: 8100 / build / polyfills.js: 3: 10834) en o (http: // localhost: 8100 / build / polyfills.js: 3: 7894) en e.invokeTask [como invocar] ( http: // localhost: 8100 / build / polyfills.js: 3: 16823) en p (http: // localhost: 8100 / build / polyfills.js: 2: 27648) en HTMLImageElement.v (http: // localhost: 8100 / build / polyfills.js: 2: 27893)runTask (http: // localhost: 8100 / build / polyfills.js: 3: 10834 ) (http: // localhost: 8100 / build / polyfills.js: 3: 7894) en e.invokeTask [como invocar] ( http: // localhost: 8100 / build / polyfills.js: 3: 16823) en p (http : // localhost: 8100 / build / polyfills.js: 2: 27648) en HTMLImageElement.v (http: // localhost: 8100 / build / polyfills.js: 2: 27893)
=> ini kodenya
impor { Komponen } dari '@angular/core';
import { IonicPage, NavController, NavParams, Platform } dari 'ionic-angular';
impor {CrearPage} dari '../crear/crear';
impor { InAppBrowser } dari '@ionic-native/in-app-browser';
mendeklarasikan var startApp: any;
@IonicPage()
@Komponen({
pemilih: 'halaman-utilidades',
templateUrl: 'utilidades.html',
})
kelas ekspor UtilidadesPage {
pengguna: string;
konstruktor (iap pribadi: InAppBrowser,
navCtrl publik: NavController,
navParams publik: NavParams,
platform publik: Platform) {
}
facebook(){
this.platform.ready().then(()=>{
var GoFaceb = startApp.set({
"tindakan": "ACTION_VIEW",
"uri": "fb://facewebmodal/f?href=https://www.facebook.com/"
}).Mulailah();
});
}
}
Terima kasih untuk masalah ini! Masalah ini sedang dikunci untuk mencegah komentar yang tidak relevan dengan masalah asli. Jika ini masih menjadi masalah dengan versi terbaru Ionic, harap buat masalah baru dan pastikan template terisi penuh.
Komentar yang paling membantu
Inilah masalahnya:
nav.push(), .pop(), viewcontroller.dismiss() dan family mengembalikan janji karena transisi sebenarnya dapat ditolak, misalnya dengan mengembalikan false di ionViewCanLeave/CanEnter.
Pastikan Anda "menangkap" janji dengan melakukan: