Wyświetlam listę przedmiotów, które można kliknąć, aby przejść do następnej trasy. Możesz również kliknąć wyskakujące okienko na tej stronie. Jeśli klikniesz na wyskakujące okienko, a następnie klikniesz na jeden z elementów, które chciałbym zniszczyć wyskakujące okienko przed wyświetleniem następnej trasy.Jak zamknąć wyskakujące okienko przed przejściem do następnej lokalizacji? (Angular 2)
onSelect(id) {
if (this.router.url.includes('popup')) {
let p = Promise.resolve(() => this.closePopup())
p.then(() => this.router.navigate(['/', id]))
} else {
this.router.navigate(['/', id])
}
}
closePopup() {
this.router.navigate([{outlets: {popup: null}}])
}
ja naprawdę nie rozumiem obietnic, więc nie jestem pewien, pisałem go w odpowiedniej strukturze, ale ten kod nie działa, jak to zawsze przejść do następnej trasy z popup nadal wewnątrz adresu URL. Próbowałem zrobić to w tej samej strukturze poza obietnicą, ale zawsze będzie nawigował do: id z (popup) nadal w adresie URL.
Próbowałem również: this.router.navigate(['/', id, {outlets: {popup: null}}])
.
Czy istnieje funkcja routera, która umożliwia całkowite przepisanie adresu URL? Czy istnieje sposób, aby usunąć wyskakujące okienko z adresu URL przed przejściem do: id.
Problem z nadzieją jest jasny - pomoc jest doceniana!