Jaka jest różnica między [routerLink]
i routerLink
? Jak należy używać każdego z nich?
angular
routes
routerlink
angular-routerlink
Eslam Tahoon
źródło
źródło
Odpowiedzi:
Zobaczysz to we wszystkich dyrektywach:
Kiedy używasz nawiasów, oznacza to, że przekazujesz właściwość możliwą do powiązania (zmienną).
Więc ta zmienna (routerLinkVariable) może być zdefiniowana w twojej klasie i powinna mieć wartość taką jak poniżej:
Ale dzięki zmiennym masz możliwość uczynienia go dynamicznym, prawda?
Gdzie, tak jak bez nawiasów, podajesz tylko ciąg i nie możesz go zmienić, jest to zakodowane na sztywno i tak będzie w całej aplikacji.
AKTUALIZACJA :
Inną specjalnością związaną z używaniem nawiasów specjalnie dla routerLink jest możliwość przekazywania parametrów dynamicznych do łącza, do którego nawigujesz:
A więc dodanie nowej zmiennej
Aktualizowanie [routerLink]
Kiedy chcesz kliknąć ten link, stałoby się:
źródło
Załóż, że masz
Oznacza to, że kliknięcie hiperłącza Recipes spowoduje przejście do adresu http: // localhost: 4200 / recipes
Załóżmy, że parametr ma wartość 1
Oznacza to, że przekazując parametr dynamiczny 1 do linku, przechodzisz do http: // localhost: 4200 / recipes / 1
źródło
Łącze routera
routerLink z nawiasami i brakiem - proste wyjaśnienie.
Różnica między routerLink = i [routerLink] polega głównie na ścieżce względnej i bezwzględnej.
Podobny do href, do którego możesz przejść ./about.html lub https://twoja-witryna.com/about.html .
Kiedy używasz bez nawiasów, nawigujesz względnie i bez parametrów;
my-app.com/dashboard/client
„skakanie” z my-app.com/dashboard do my-app.com/dashboard/client
Kiedy używasz routerLink z nawiasami, uruchamiasz aplikację, aby nawigować bezwzględnie i możesz dodać parametry, w jaki sposób układa się zagadka nowego łącza
po pierwsze nie będzie zawierał "skoku" z dashboardu / do dashboardu / client / client-id i przyniesie ci dane klienta / client-id, co jest bardziej pomocne przy EDYCIE KLIENTA
Bezwzględny sposób lub nawiasy routerLink wymagają dodatkowej konfiguracji twoich komponentów i app.routing.module.ts
Kod bez błędów „powie Ci więcej / jaki jest cel []” podczas wykonywania testu. Po prostu sprawdź to z lub bez []. Następnie możesz eksperymentować z selektorami, które - jak wspomniano powyżej - pomagają w routingu dynamiki.
Angular.io Selectors
Zobacz, co konstruuje routerLink
źródło