Quando utilizzo parentesi quadre attorno a routerLink in Angular2?

0

In Angular 2 (attualmente 2.0.0-rc.6), routerLink è usato come direttiva per indicare un percorso che vogliamo seguire nel nostro routing, ad es. in risposta al clic su un collegamento.

Tuttavia, nella documentazione vengono utilizzati entrambi i seguenti:

  • routerLink
  • [routerLink]

Non capisco quando dovrei usare quale. La pagina Nozioni di base / Sintassi dei modelli illustra come vengono usate le parentesi quadre, tra le altre cose impostazione di una proprietà di una direttiva. Per me, sembra che dovrei usare parentesi quadre in questo caso, ma la documentazione mostra il contrario.

Quando inizialmente ho riflettuto su questa domanda, ho pensato che potesse avere qualcosa a che fare con l'uso di una stringa semplice, ad es. routerLink="/heroes" rispetto a qualcosa di più complesso e / o dinamico come un array di parametri di collegamento, ad es. %codice%. Tuttavia, le seguenti due citazioni dirette dalla documentazione mostrano che questa non è la risposta:

Da Guida per gli sviluppatori / Routing e amp; Navigazione (a circa metà della pagina):

<a routerLink="/crisis-center/admin" routerLinkActive="active">Crisis Admin</a>

Da Riferimento API / RouterLink :

<a [routerLink]="/user/bob">link to user component</a>

L'origine di associazione dei dati sul lato destro del segno di uguale in ciascuno di questi esempi ha lo stesso formato, cioè è solo una stringa.

Quindi, quando devo usare quale?

    
posta Andrew Willems 07.09.2016 - 04:01
fonte

1 risposta

1

Ogni volta che qualcosa è tra parentesi quadre il contenuto viene valutato. Probabilmente il riferimento era sbagliato perché <a [routerLink]="/user/bob"> non funzionerà perché il codice /user/bob ha un errore di sintassi, in realtà è un Regex malformato.

Ho controllato il riferimento, ora ha <a [routerLink]="['/user/bob']"> e <a routerLink="/user/bob"> , entrambi sono corretti.

    
risposta data 07.06.2017 - 12:13
fonte

Leggi altre domande sui tag