В чем разница между [routerLink]
и routerLink
? Как использовать каждый из них?
angular
routes
routerlink
angular-routerlink
Эслам Тахун
источник
источник
Ответы:
Вы увидите это во всех директивах:
Когда вы используете скобки, это означает, что вы передаете привязываемое свойство (переменную).
Таким образом, эта переменная (routerLinkVariable) может быть определена внутри вашего класса и должна иметь значение, подобное приведенному ниже:
Но с переменными у вас есть возможность сделать его динамичным, верно?
Там, где, как и без скобок, вы передаете только строку и не можете ее изменить, она жестко запрограммирована, и так будет во всем приложении.
ОБНОВИТЬ :
Другая особенность использования скобок специально для routerLink заключается в том, что вы можете передавать динамические параметры ссылке, по которой вы переходите:
Итак, добавляем новую переменную
Обновление [routerLink]
Когда вы захотите щелкнуть по этой ссылке, она станет:
источник
Предположим, что у вас есть
Это означает, что при нажатии гиперссылки Рецепты вы перейдете на http: // localhost: 4200 / recipes.
Предположим, что параметр равен 1
Это означает, что при передаче динамического параметра 1 ссылке вы переходите по адресу http: // localhost: 4200 / recipes / 1.
источник
Ссылка на маршрутизатор
router Link с скобками и без - простое объяснение.
Разница между routerLink = и [routerLink] в основном как относительный и абсолютный путь.
Подобно href, вы можете перейти по адресу ./about.html или https://your-site.com/about.html .
Когда вы используете без скобок, вы перемещаетесь относительно и без параметров;
my-app.com/dashboard/client
"прыжок" с my-app.com/dashboard на my-app.com/dashboard/client
Когда вы используете routerLink со скобками, вы запускаете приложение для абсолютной навигации и можете добавлять параметры, как загадка вашей новой ссылки
во-первых, он не будет включать "переход" с панели инструментов / на панель инструментов / client / client-id и не будет предоставлять вам данные client / client-id, что более полезно для EDIT CLIENT
Абсолютный способ или скобки routerLink требуют дополнительной настройки ваших компонентов и app.routing.module.ts
Код без ошибок «расскажет вам больше / какова цель []», когда вы проведете тест. Просто проверьте это с [] или без него. Затем вы можете поэкспериментировать с селекторами, которые, как упоминалось выше, помогают с динамической маршрутизацией.
Селекторы Angular.io
Посмотрите, что такое конструкция routerLink
источник