Was ist der Unterschied zwischen [routerLink]
und routerLink
? Wie solltest du jeden verwenden?
angular
routes
routerlink
angular-routerlink
Eslam Tahoon
quelle
quelle
Antworten:
Sie werden dies in allen Anweisungen sehen:
Wenn Sie Klammern verwenden, bedeutet dies, dass Sie eine bindbare Eigenschaft (eine Variable) übergeben.
Diese Variable (routerLinkVariable) kann also in Ihrer Klasse definiert werden und sollte einen Wert wie den folgenden haben:
Aber mit Variablen haben Sie die Möglichkeit, es dynamisch zu machen, oder?
Wenn Sie wie ohne Klammern nur Zeichenfolgen übergeben und diese nicht ändern können, ist sie fest codiert und wird in Ihrer gesamten App so sein.
UPDATE:
Die andere Besonderheit bei der Verwendung von Klammern speziell für routerLink besteht darin, dass Sie dynamische Parameter an den Link übergeben können, zu dem Sie navigieren:
Fügen Sie also eine neue Variable hinzu
Aktualisieren des [routerLink]
Wenn Sie auf diesen Link klicken möchten, wird es:
quelle
Angenommen, Sie haben
Wenn Sie auf den Hyperlink Rezepte klicken, springen Sie zu http: // localhost: 4200 / Rezepte
Angenommen, der Parameter ist 1
Wenn Sie den dynamischen Parameter 1 an den Link übergeben, navigieren Sie zu http: // localhost: 4200 / prescription / 1
quelle
Router Link
routerLink mit Klammern und keiner - einfache Erklärung.
Der Unterschied zwischen routerLink = und [routerLink] ist meistens wie der relative und der absolute Pfad.
Ähnlich wie bei einem href möchten Sie möglicherweise zu ./about.html oder https://your-site.com/about.html navigieren .
Wenn Sie ohne Klammern verwenden, navigieren Sie relativ und ohne Parameter.
my-app.com/dashboard/client
"Springen" von my-app.com/dashboard zu my-app.com/dashboard/client
Wenn Sie routerLink mit Klammern verwenden, führen Sie die App aus, um absolut zu navigieren, und Sie können Parameter hinzufügen, wie das Rätsel Ihres neuen Links ist
Zuallererst wird es nicht den "Sprung" von Dashboard / zu Dashboard / Client / Client-ID enthalten und Ihnen Daten von Client / Client-ID liefern, was für EDIT CLIENT hilfreicher ist
Der absolute Weg oder die Klammern routerLink erfordern eine zusätzliche Einrichtung Ihrer Komponenten und app.routing.module.ts
Der fehlerfreie Code sagt Ihnen "mehr / was ist der Zweck von []", wenn Sie den Test durchführen. Überprüfen Sie dies einfach mit oder ohne []. Dann können Sie mit Selektoren experimentieren, die - wie oben erwähnt - beim dynamischen Routing helfen.
Angular.io-Selektoren
Sehen Sie, was das routerLink-Konstrukt ist
quelle