Apakah ada cara mengirim data sebagai parameter dengan router.navigate? Maksud saya, contoh seperti ini , seperti yang Anda lihat rute memiliki parameter data, tetapi melakukan ini tidak berfungsi:
this.router.navigate(["heroes"], {some-data: "othrData"})
karena beberapa data bukan parameter yang valid. Bagaimana saya bisa melakukan itu? Saya tidak ingin mengirim parameter dengan queryParams.
angular
routing
angular-router
Motomine
sumber
sumber
Jawaban:
Ada banyak kebingungan tentang topik ini karena ada begitu banyak cara untuk melakukannya.
Berikut adalah jenis yang sesuai digunakan dalam tangkapan layar berikut:
1) Diperlukan Parameter Routing:
2) Rute Parameter Opsional:
3) Parameter Parameter Rute:
4) Anda dapat menggunakan layanan untuk meneruskan data dari satu komponen ke komponen lain tanpa menggunakan parameter rute sama sekali.
Sebagai contoh, lihat: https://blogs.msmvps.com/deborahk/build-a-simple-angular-service-to-share-data/
Saya memiliki penyedot ini di sini: https://plnkr.co/edit/KT4JLmpcwGBM2xdZQeI9?p=preview
sumber
route
tipe ituActivatedRoute
, tidakRouter
.Ada metode baru yang menyertai Angular 7.2.0
https://angular.io/api/router/NavigationExtras#state
Kirim:
Menerima:
Anda dapat membaca beberapa info tambahan di sini:
https://github.com/angular/angular/pull/27198
Tautan di atas berisi contoh ini, apa yang bisa berguna: https://stackblitz.com/edit/angular-bupuzn
sumber
ngOnInit()
asthis.router.getCurrentNavigation().extras
Versi angular terbaru (7.2 +) sekarang memiliki opsi untuk meneruskan informasi tambahan menggunakan NavigationExtras .
Komponen rumah
komponen baru
Keluaran
Semoga ini bisa membantu!
sumber
@ dev-nish Kode Anda berfungsi dengan sedikit penyesuaian. buat
ke
maka jika Anda ingin secara khusus mengirim tipe data, misalnya, JSON sebagai hasil dari pengisian formulir, Anda dapat mengirim data dengan cara yang sama seperti yang dijelaskan sebelumnya.
sumber
Di navigExtra kita hanya dapat memberikan beberapa nama tertentu sebagai argumen jika tidak akan menampilkan kesalahan seperti di bawah ini: Untuk Ex- Di sini saya ingin meneruskan kunci pelanggan di navigasi router dan saya meneruskan seperti ini-
tetapi menunjukkan beberapa kesalahan seperti di bawah ini:
.
Solusi: kita harus menulis seperti ini:
sumber
Yang terbaik yang saya temukan di internet untuk ini adalah ngx-navigasi-dengan-data . Ini sangat sederhana dan baik untuk navigasi data dari satu komponen ke komponen lain. Anda hanya perlu mengimpor kelas komponen dan menggunakannya dengan cara yang sangat sederhana. Misalkan Anda memiliki rumah dan tentang komponen dan ingin mengirim data
KOMPONEN RUMAH
TENTANG KOMPONEN
Untuk setiap pertanyaan, ikuti https://www.npmjs.com/package/ngx-navigation-with-data
Beri komentar untuk bantuan.
sumber