{"id":1820,"date":"2023-11-29T05:00:00","date_gmt":"2023-11-29T13:00:00","guid":{"rendered":"https:\/\/www.angulartraining.com\/daily-newsletter\/?p=1820"},"modified":"2023-11-28T16:00:23","modified_gmt":"2023-11-29T00:00:23","slug":"routerlinkactive-directive","status":"publish","type":"post","link":"https:\/\/www.angulartraining.com\/daily-newsletter\/routerlinkactive-directive\/","title":{"rendered":"routerLinkActive directive"},"content":{"rendered":"\n<p>Have you ever wondered how to highlight a specific HTML element, such as a link or a button, when a particular URL is selected? Something similar to this:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"164\" height=\"66\" src=\"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/routerLinkActive.gif\" alt=\"\" class=\"wp-image-1821\"\/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>The good news is that there is a specific directive for this called <code><a href=\"https:\/\/angular.dev\/api\/router\/RouterLinkActive?tab=description\" target=\"_blank\" rel=\"noopener\" title=\"\">routerLinkActive<\/a><\/code>. Here is how you can use it:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"637\" height=\"93\" src=\"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/image-37.png\" alt=\"\" class=\"wp-image-1823\" srcset=\"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/image-37.png 637w, https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/image-37-300x44.png 300w\" sizes=\"auto, (max-width: 637px) 100vw, 637px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>The value set to <code>routerLinkActive<\/code> is the name of a CSS class (or <a href=\"https:\/\/angular.dev\/api\/router\/RouterLinkActive?tab=description#:~:text=routerLinkActive%3D%22class1%20class2%22\" target=\"_blank\" rel=\"noopener\" title=\"\">several CSS classes<\/a>) that gets applied to the HTML element when the current URL path matches the path of the <code>routerLink<\/code> directive on that same element. In other words, if the path is <code>page1<\/code>, then the <code>button<\/code> element has an <code>active<\/code> class applied to it.<\/p>\n\n\n\n<p>As a result, all I did to style the above example was add that CSS class definition to my global CSS file:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"345\" height=\"117\" src=\"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/image-38.png\" alt=\"\" class=\"wp-image-1824\" srcset=\"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/image-38.png 345w, https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/image-38-300x102.png 300w\" sizes=\"auto, (max-width: 345px) 100vw, 345px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>And that&#8217;s it! Note that the directive supports <a href=\"https:\/\/angular.dev\/api\/router\/RouterLinkActive?tab=api\" target=\"_blank\" rel=\"noopener\" title=\"\">several other options documented here<\/a>:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"473\" src=\"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/image-39.png\" alt=\"\" class=\"wp-image-1825\" srcset=\"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/image-39.png 567w, https:\/\/www.angulartraining.com\/daily-newsletter\/wp-content\/uploads\/2023\/11\/image-39-300x250.png 300w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>You can see my <a href=\"https:\/\/stackblitz.com\/edit\/stackblitz-starters-re1ekt?description=An%20angular-cli%20project%20based%20on%20@angular\/animations,%20@angular\/common,%20@angular\/compiler,%20@angular\/core,%20@angular\/forms,%20@angular\/platform-browser,%20@angular\/platform-browser-dynamic,%20@angular\/router,%20core-js,%20rxjs,%20tslib%20and%20zone.js&amp;file=src%2Fmain.ts,src%2Fglobal_styles.css&amp;title=Angular%20Starter\" target=\"_blank\" rel=\"noopener\" title=\"\">example in action on Stackblitz here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you ever wondered how to highlight a specific HTML element, such as a link or a button, when a particular URL is selected? Something similar to this: The good news is that there is a specific directive for this called routerLinkActive. Here is how you can use it: The value set to routerLinkActive is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,11,25],"tags":[],"class_list":["post-1820","post","type-post","status-publish","format-standard","hentry","category-angular","category-directives","category-routing"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts\/1820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/comments?post=1820"}],"version-history":[{"count":3,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts\/1820\/revisions"}],"predecessor-version":[{"id":1827,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts\/1820\/revisions\/1827"}],"wp:attachment":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/media?parent=1820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/categories?post=1820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/tags?post=1820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}