Qual é a diferença entre [routerLink]
e routerLink
? Como você deve usar cada um?
angular
routes
routerlink
angular-routerlink
Eslam Tahoon
fonte
fonte
Respostas:
Você verá isso em todas as diretivas:
Quando você usa colchetes, significa que está passando uma propriedade vinculável (uma variável).
Portanto, esta variável (routerLinkVariable) pode ser definida dentro de sua classe e deve ter um valor como abaixo:
Mas com variáveis, você tem a oportunidade de torná-lo dinâmico, certo?
Onde, como sem colchetes, você está passando apenas string e não pode alterá-lo, é codificado e será assim em todo o seu aplicativo.
ATUALIZAÇÃO:
A outra especialidade sobre o uso de colchetes especificamente para routerLink é que você pode passar parâmetros dinâmicos para o link para o qual está navegando:
Então, adicionando uma nova variável
Atualizando o [routerLink]
Quando você quiser clicar neste link, ele se tornará:
fonte
Suponha que você tenha
Isso significa que clicar no hiperlink Receitas irá saltar para http: // localhost: 4200 / recipes
Suponha que o parâmetro seja 1
Significa passar o parâmetro dinâmico 1 para o link e navegar para http: // localhost: 4200 / recipes / 1
fonte
Link do roteador
routerLink com colchetes e nenhum - explicação simples.
A diferença entre routerLink = e [routerLink] é principalmente como caminho relativo e absoluto.
Semelhante a um href, você pode navegar para ./about.html ou https://seu-site.com/about.html .
Quando você usa sem colchetes, então você navega relativo e sem parâmetros;
my-app.com/dashboard/client
"saltando" de my-app.com/dashboard para my-app.com/dashboard/client
Ao usar o routerLink com colchetes, você executa o aplicativo para navegar absoluto e pode adicionar parâmetros como está o quebra-cabeça do seu novo link
em primeiro lugar, ele não incluirá o "salto" do painel / para painel / cliente / id do cliente e trará a você os dados do cliente / id do cliente, o que é mais útil para EDITAR CLIENTE
A forma absoluta ou colchetes routerLink requerem configuração adicional de seus componentes e app.routing.module.ts
O código sem erro irá "dizer mais / qual é o propósito de []" quando você fizer o teste. Basta verificar isso com ou sem []. Então você pode experimentar com seletores que - como mencionado acima - ajudam com o roteamento dinâmico.
Seletores Angular.io
Veja o que é a construção routerLink
fonte