From 41c9910613445dc0978b6a3c0df686c3cbe1484d Mon Sep 17 00:00:00 2001 From: Judy Bogart Date: Mon, 27 Jul 2020 10:00:05 -0700 Subject: [PATCH] docs: update api reference doc for router-link-active directive (#38247) Edits and organizes the usage information for the directive. PR Close #38247 --- .../src/directives/router_link_active.ts | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/packages/router/src/directives/router_link_active.ts b/packages/router/src/directives/router_link_active.ts index 2e5a898665..8c56ca12b4 100644 --- a/packages/router/src/directives/router_link_active.ts +++ b/packages/router/src/directives/router_link_active.ts @@ -19,44 +19,49 @@ import {RouterLink, RouterLinkWithHref} from './router_link'; * * @description * - * Lets you add a CSS class to an element when the link's route becomes active. + * Tracks whether the linked route of an element is currently active, and allows you + * to specify one or more CSS classes to add to the element when the linked route + * is active. * - * This directive lets you add a CSS class to an element when the link's route - * becomes active. - * - * Consider the following example: + * Use this directive to create a visual distinction for elements associated with an active route. + * For example, the following code highlights the word "Bob" when the the router + * activates the associated route: * * ``` * Bob * ``` * - * When the url is either '/user' or '/user/bob', the active-link class will - * be added to the `a` tag. If the url changes, the class will be removed. + * Whenever the URL is either '/user' or '/user/bob', the "active-link" class is + * added to the anchor tag. If the URL changes, the class is removed. * - * You can set more than one class, as follows: + * You can set more than one class using a space-separated string or an array. + * For example: * * ``` * Bob * Bob * ``` * - * You can configure RouterLinkActive by passing `exact: true`. This will add the classes - * only when the url matches the link exactly. + * To add the classes only when the URL matches the link exactly, add the option `exact: true`: * * ``` * Bob * ``` * - * You can assign the RouterLinkActive instance to a template variable and directly check - * the `isActive` status. + * To directly check the `isActive` status of the link, assign the `RouterLinkActive` + * instance to a template variable. + * For example, the following checks the status without assigning any CSS classes: + * * ``` * * Bob {{ rla.isActive ? '(already open)' : ''}} * * ``` * - * Finally, you can apply the RouterLinkActive directive to an ancestor of a RouterLink. + * You can apply the `RouterLinkActive` directive to an ancestor of linked elements. + * For example, the following sets the active-link class on the `
` parent tag + * when the URL is either '/user/jim' or '/user/bob'. * * ``` *
@@ -65,9 +70,6 @@ import {RouterLink, RouterLinkWithHref} from './router_link'; *
* ``` * - * This will set the active-link class on the div tag if the url is either '/user/jim' or - * '/user/bob'. - * * @ngModule RouterModule * * @publicApi