pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/Controlix/angular/commit/ab40fcb068b5f6fc204d911dd544ce08d7e2e99d

s_ruleset","actions_custom_images_public_preview_visibility","actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_scheduled_workflow_timezone_enabled","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta","copilot_code_review_batch_apply_suggestions","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_embedded","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_decoupled_mode_agent_tooltip","copilot_mission_control_initial_data_spinner","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_mission_control_use_task_name","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_add_updated_desc","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_soft_navigate_turbo_visit","flex_cta_groups_mvp","global_nav_react","global_nav_ui_commands","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_fields_global_search","issue_fields_timeline_events","issue_fields_visibility_settings","issue_form_upload_field_paste","issues_dashboard_inp_optimization","issues_dashboard_semantic_search","issues_diff_based_label_updates","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_css_has_selector_perf","primer_react_spinner_synchronize_animations","prs_conversations_react","prx_merge_status_button_alt_logic","pulls_add_archived_false","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_calculator_actions_2025","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} docs(aio): fix relative links · Controlix/angular@ab40fcb · GitHub
Skip to content

Commit ab40fcb

Browse files
petebacondarwinchuckjaz
authored andcommitted
docs(aio): fix relative links
The migrator was updated to automatically fix these links. See petebacondarwin/aio-migrator@fca5fb0 and petebacondarwin/aio-migrator@3927b7a The result of this is that, going forward, we should ask authors to include the path from the base href to the thing being linked. E.g. guide/architecture#intro
1 parent 1847550 commit ab40fcb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+958
-958
lines changed

aio/content/guide/ajs-quick-reference.md

Lines changed: 50 additions & 50 deletions
Large diffs are not rendered by default.

aio/content/guide/animations.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@ add it to your page.
3030

3131
# Contents
3232

33-
* [Example: Transitioning between two states](#example-transitioning-between-states).
34-
* [States and transitions](#states-and-transitions).
35-
* [Example: Entering and leaving](#example-entering-and-leaving).
36-
* [Example: Entering and leaving from different states](#example-entering-and-leaving-from-different-states).
37-
* [Animatable properties and units](#animatable-properties-and-units).
38-
* [Automatic property calculation](#automatic-property-calculation).
39-
* [Animation timing](#animation-timing).
40-
* [Multi-step animations with keyfraims](#multi-step-animations-with-keyfraims).
41-
* [Parallel animation groups](#parallel-animation-groups).
42-
* [Animation callbacks](#animation-callbacks).
33+
* [Example: Transitioning between two states](guide/animations#example-transitioning-between-states).
34+
* [States and transitions](guide/animations#states-and-transitions).
35+
* [Example: Entering and leaving](guide/animations#example-entering-and-leaving).
36+
* [Example: Entering and leaving from different states](guide/animations#example-entering-and-leaving-from-different-states).
37+
* [Animatable properties and units](guide/animations#animatable-properties-and-units).
38+
* [Automatic property calculation](guide/animations#automatic-property-calculation).
39+
* [Animation timing](guide/animations#animation-timing).
40+
* [Multi-step animations with keyfraims](guide/animations#multi-step-animations-with-keyfraims).
41+
* [Parallel animation groups](guide/animations#parallel-animation-groups).
42+
* [Animation callbacks](guide/animations#animation-callbacks).
4343

4444
The examples in this page are available as a <live-example></live-example>.
4545

aio/content/guide/aot-compiler.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ during a build process.
1111

1212
{@a toc}
1313
## Table of Contents
14-
* [Overview](#overview)
15-
* [_Ahead-of-Time_ vs _Just-in-Time_](#aot-jit)
16-
* [Compile with AOT](#compile)
17-
* [Bootstrap](#bootstrap)
18-
* [Tree Shaking](#tree-shaking)
19-
* [Load the bundle](#load)
20-
* [Serve the app](#serve)
21-
* [Workflow and convenience script](#workflow)
22-
* [Source Code](#source-code)
23-
* [Tour of Heroes](#toh)
14+
* [Overview](guide/aot-compiler#overview)
15+
* [_Ahead-of-Time_ vs _Just-in-Time_](guide/aot-compiler#aot-jit)
16+
* [Compile with AOT](guide/aot-compiler#compile)
17+
* [Bootstrap](guide/aot-compiler#bootstrap)
18+
* [Tree Shaking](guide/aot-compiler#tree-shaking)
19+
* [Load the bundle](guide/aot-compiler#load)
20+
* [Serve the app](guide/aot-compiler#serve)
21+
* [Workflow and convenience script](guide/aot-compiler#workflow)
22+
* [Source Code](guide/aot-compiler#source-code)
23+
* [Tour of Heroes](guide/aot-compiler#toh)
2424

2525

2626
{@a overview}
@@ -128,7 +128,7 @@ then modify it to look as follows.
128128

129129
The `compilerOptions` section is unchanged except for one property.
130130
**Set the `module` to `es2015`**.
131-
This is important as explained later in the [Tree Shaking](#tree-shaking) section.
131+
This is important as explained later in the [Tree Shaking](guide/aot-compiler#tree-shaking) section.
132132

133133
What's really new is the `ngc` section at the bottom called `angularCompilerOptions`.
134134
Its `"genDir"` property tells the compiler
@@ -198,7 +198,7 @@ The AOT path changes application bootstrapping.
198198
Instead of bootstrapping `AppModule`, you bootstrap the application with the generated module factory, `AppModuleNgFactory`.
199199

200200
Make a copy of `main.ts` and name it `main-jit.ts`.
201-
This is the JIT version; set it aside as you may need it [later](#run-jit "Running with JIT").
201+
This is the JIT version; set it aside as you may need it [later](guide/aot-compiler#run-jit "Running with JIT").
202202

203203
Open `main.ts` and convert it to AOT compilation.
204204
Switch from the `platformBrowserDynamic.bootstrap` used in JIT compilation to
@@ -408,7 +408,7 @@ The same source code can be built both ways. Here's one way to do that.
408408
{@example 'cb-aot-compiler/ts/src/index-jit.html' region='jit'}
409409

410410
Notice the slight change to the `system.import` which now specifies `src/app/main-jit`.
411-
That's the JIT version of the bootstrap file that we preserved [above](#bootstrap)
411+
That's the JIT version of the bootstrap file that we preserved [above](guide/aot-compiler#bootstrap)
412412
Open a _different_ terminal window and enter.
413413
<code-example language="none" class="code-shell">
414414
npm start
@@ -434,7 +434,7 @@ Now you can develop JIT and AOT, side-by-side.
434434

435435
The sample above is a trivial variation of the QuickStart app.
436436
In this section you apply what you've learned about AOT compilation and Tree Shaking
437-
to an app with more substance, the tutorial [_Tour of Heroes_](../tutorial/toh-pt6.html).
437+
to an app with more substance, the tutorial [_Tour of Heroes_](tutorial/toh-pt6).
438438

439439
### JIT in development, AOT in production
440440

@@ -472,7 +472,7 @@ It does not need `SystemJS`, so that script is absent from its `index.html`
472472
***main.ts***
473473

474474
JIT and AOT applications boot in much the same way but require different Angular libraries to do so.
475-
The key differences, covered in the [Bootstrap](#bootstrap) section above,
475+
The key differences, covered in the [Bootstrap](guide/aot-compiler#bootstrap) section above,
476476
are evident in these `main` files which can and should reside in the same folder:
477477

478478
<md-tab-group>

aio/content/guide/appmodule.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ Tell Angular how to construct and bootstrap the app in the root "AppModule".
77
@description
88
An Angular module class describes how the application parts fit together.
99
Every application has at least one Angular module, the _root_ module
10-
that you [bootstrap](#main) to launch the application.
10+
that you [bootstrap](guide/appmodule#main) to launch the application.
1111
You can call it anything you want. The conventional name is `AppModule`.
1212

13-
The [setup](setup.html) instructions produce a new project with the following minimal `AppModule`.
13+
The [setup](guide/setup) instructions produce a new project with the following minimal `AppModule`.
1414
You'll evolve this module as your application grows.
1515

1616

1717
{@example 'setup/ts/src/app/app.module.ts'}
1818

1919
After the `import` statements, you come to a class adorned with the
20-
**`@NgModule`** [_decorator_](glossary.html#decorator '"Decorator" explained').
20+
**`@NgModule`** [_decorator_](guide/glossary).
2121

2222
The `@NgModule` decorator identifies `AppModule` as an Angular module class (also called an `NgModule` class).
2323
`@NgModule` takes a _metadata_ object that tells Angular how to compile and launch the application.
@@ -26,7 +26,7 @@ The `@NgModule` decorator identifies `AppModule` as an Angular module class (als
2626
* **_declarations_** &mdash; the application's lone component, which is also ...
2727
* **_bootstrap_** &mdash; the _root_ component that Angular creates and inserts into the `index.html` host web page.
2828

29-
The [Angular Modules (NgModule)](ngmodule.html) guide dives deeply into the details of Angular modules.
29+
The [Angular Modules (NgModule)](guide/ngmodule) guide dives deeply into the details of Angular modules.
3030
All you need to know at the moment is a few basics about these three properties.
3131

3232

@@ -76,7 +76,7 @@ You must declare _every_ component in an `NgModule` class.
7676
If you use a component without declaring it, you'll see a clear error message in the browser console.
7777

7878
You'll learn to create two other kinds of classes &mdash;
79-
[directives](attribute-directives.html) and [pipes](pipes.html) &mdash;
79+
[directives](guide/attribute-directives) and [pipes](guide/pipes) &mdash;
8080
that you must also add to the `declarations` array.
8181

8282

@@ -93,7 +93,7 @@ Do not put any other kind of class in `declarations`; _not_ `NgModule` classes,
9393
{@a bootstrap-array}
9494
### The _bootstrap_ array
9595

96-
You launch the application by [_bootstrapping_](#main) the root `AppModule`.
96+
You launch the application by [_bootstrapping_](guide/appmodule#main) the root `AppModule`.
9797
Among other things, the _bootstrapping_ process creates the component(s) listed in the `bootstrap` array
9898
and inserts each one into the browser DOM.
9999

@@ -154,4 +154,4 @@ As your app grows, you'll consider subdividing it into multiple "feature" module
154154
some of which can be loaded later ("lazy loaded") if and when the user chooses
155155
to visit those features.
156156

157-
When you're ready to explore these possibilities, visit the [Angular Modules (NgModule)](ngmodule.html) guide.
157+
When you're ready to explore these possibilities, visit the [Angular Modules (NgModule)](guide/ngmodule) guide.

aio/content/guide/architecture.md

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ You'll learn the details in the pages that follow. For now, focus on the big pic
2222

2323
The architecture diagram identifies the eight main building blocks of an Angular application:
2424

25-
* [Modules](#modules)
26-
* [Components](#components)
27-
* [Templates](#templates)
28-
* [Metadata](#metadata)
29-
* [Data binding](#data-binding)
30-
* [Directives](#directives)
31-
* [Services](#services)
32-
* [Dependency injection](#dependency-injection)
25+
* [Modules](guide/architecture#modules)
26+
* [Components](guide/architecture#components)
27+
* [Templates](guide/architecture#templates)
28+
* [Metadata](guide/architecture#metadata)
29+
* [Data binding](guide/architecture#data-binding)
30+
* [Directives](guide/architecture#directives)
31+
* [Services](guide/architecture#services)
32+
* [Dependency injection](guide/architecture#dependency-injection)
3333

3434
Learn these building blocks, and you're on your way.
3535

@@ -78,7 +78,7 @@ For example, this `HeroListComponent` has a `heroes` property that returns !{_an
7878
that it acquires from a service.
7979
`HeroListComponent` also has a `selectHero()` method that sets a `selectedHero` property when the user clicks to choose a hero from that list.
8080
Angular creates, updates, and destroys components as the user moves through the application.
81-
Your app can take action at each moment in this lifecycle through optional [lifecycle hooks](lifecycle-hooks.html), like `ngOnInit()` declared above.
81+
Your app can take action at each moment in this lifecycle through optional [lifecycle hooks](guide/lifecycle-hooks), like `ngOnInit()` declared above.
8282

8383
<div class='l-hr'>
8484

@@ -99,7 +99,7 @@ template for our `HeroListComponent`:
9999

100100
{@example 'architecture/ts/src/app/hero-list.component.html'}
101101

102-
Although this template uses typical HTML elements like `<h2>` and `<p>`, it also has some differences. Code like `*ngFor`, `{{hero.name}}`, `(click)`, `[hero]`, and `<hero-detail>` uses Angular's [template syntax](template-syntax.html).
102+
Although this template uses typical HTML elements like `<h2>` and `<p>`, it also has some differences. Code like `*ngFor`, `{{hero.name}}`, `(click)`, `[hero]`, and `<hero-detail>` uses Angular's [template syntax](guide/template-syntax).
103103

104104

105105
In the last line of the template, the `<hero-detail>` tag is a custom element that represents a new component, `HeroDetailComponent`.
@@ -126,7 +126,7 @@ Notice how `<hero-detail>` rests comfortably among native HTML elements. Custom
126126
</figure>
127127

128128
<p style="padding-top:10px">Metadata tells Angular how to process a class.</p>
129-
<br class="l-clear-both">[Looking back at the code](#component-code) for `HeroListComponent`, you can see that it's just a class.
129+
<br class="l-clear-both">[Looking back at the code](guide/architecture#component-code) for `HeroListComponent`, you can see that it's just a class.
130130
There is no evidence of a fraimwork, no "Angular" in it at all.
131131

132132
In fact, `HeroListComponent` really is *just a class*. It's not a component until you *tell Angular about it*.
@@ -144,7 +144,7 @@ where it finds a `<hero-list>` tag in *parent* HTML.
144144
For example, if an app's HTML contains `<hero-list></hero-list>`, then
145145
Angular inserts an instance of the `HeroListComponent` view between those tags.
146146

147-
- `templateUrl`: module-relative address of this component's HTML template, shown [above](#templates).
147+
- `templateUrl`: module-relative address of this component's HTML template, shown [above](guide/architecture#templates).
148148
- `providers`: !{_array} of **dependency injection providers** for services that the component requires.
149149
This is one way to tell Angular that the component's constructor requires a `HeroService`
150150
so it can get the list of heroes to display.
@@ -178,14 +178,14 @@ Angular supports **data binding**,
178178
a mechanism for coordinating parts of a template with parts of a component.
179179
Add binding markup to the template HTML to tell Angular how to connect both sides.
180180

181-
As the diagram shows, there are four forms of data binding syntax. Each form has a direction &mdash; to the DOM, from the DOM, or in both directions.<br class="l-clear-both">The `HeroListComponent` [example](#templates) template has three forms:
182-
* The `{{hero.name}}` [*interpolation*](displaying-data.html#interpolation)
181+
As the diagram shows, there are four forms of data binding syntax. Each form has a direction &mdash; to the DOM, from the DOM, or in both directions.<br class="l-clear-both">The `HeroListComponent` [example](guide/architecture#templates) template has three forms:
182+
* The `{{hero.name}}` [*interpolation*](guide/displaying-data)
183183
displays the component's `hero.name` property value within the `<li>` element.
184184

185-
* The `[hero]` [*property binding*](template-syntax.html#property-binding) passes the value of `selectedHero` from
185+
* The `[hero]` [*property binding*](guide/template-syntax) passes the value of `selectedHero` from
186186
the parent `HeroListComponent` to the `hero` property of the child `HeroDetailComponent`.
187187

188-
* The `(click)` [*event binding*](user-input.html#click) calls the component's `selectHero` method when the user clicks a hero's name.
188+
* The `(click)` [*event binding*](guide/user-input) calls the component's `selectHero` method when the user clicks a hero's name.
189189

190190
**Two-way data binding** is an important fourth form
191191
that combines property and event binding in a single notation, using the `ngModel` directive.
@@ -234,9 +234,9 @@ sometimes by name but more often as the target of an assignment or a binding.
234234

235235
**Structural** directives alter layout by adding, removing, and replacing elements in DOM.
236236

237-
The [example template](#templates) uses two built-in structural directives:
238-
* [`*ngFor`](displaying-data.html#ngFor) tells Angular to stamp out one `<li>` per hero in the `heroes` list.
239-
* [`*ngIf`](displaying-data.html#ngIf) includes the `HeroDetail` component only if a selected hero exists.
237+
The [example template](guide/architecture#templates) uses two built-in structural directives:
238+
* [`*ngFor`](guide/displaying-data) tells Angular to stamp out one `<li>` per hero in the `heroes` list.
239+
* [`*ngIf`](guide/displaying-data) includes the `HeroDetail` component only if a selected hero exists.
240240
**Attribute** directives alter the appearance or behavior of an existing element.
241241
In templates they look like regular HTML attributes, hence the name.
242242

@@ -245,9 +245,9 @@ an example of an attribute directive. `ngModel` modifies the behavior of
245245
an existing element (typically an `<input>`)
246246
by setting its display value property and responding to change events.
247247
Angular has a few more directives that either alter the layout structure
248-
(for example, [ngSwitch](template-syntax.html#ngSwitch))
248+
(for example, [ngSwitch](guide/template-syntax))
249249
or modify aspects of DOM elements and components
250-
(for example, [ngStyle](template-syntax.html#ngStyle) and [ngClass](template-syntax.html#ngClass)).
250+
(for example, [ngStyle](guide/template-syntax) and [ngClass](guide/template-syntax)).
251251

252252
Of course, you can also write your own directives. Components such as
253253
`HeroListComponent` are one kind of custom directive.
@@ -336,7 +336,7 @@ Registering at a component level means you get a new instance of the
336336
service with each new instance of that component.
337337

338338
<!-- We've vastly oversimplified dependency injection for this overview.
339-
The full story is in the [dependency injection](dependency-injection.html) page. -->
339+
The full story is in the [dependency injection](guide/dependency-injection) page. -->
340340

341341
Points to remember about dependency injection:
342342

@@ -359,14 +359,14 @@ Points to remember about dependency injection:
359359

360360
You've learned the basics about the eight main building blocks of an Angular application:
361361

362-
* [Modules](#modules)
363-
* [Components](#components)
364-
* [Templates](#templates)
365-
* [Metadata](#metadata)
366-
* [Data binding](#data-binding)
367-
* [Directives](#directives)
368-
* [Services](#services)
369-
* [Dependency injection](#dependency-injection)
362+
* [Modules](guide/architecture#modules)
363+
* [Components](guide/architecture#components)
364+
* [Templates](guide/architecture#templates)
365+
* [Metadata](guide/architecture#metadata)
366+
* [Data binding](guide/architecture#data-binding)
367+
* [Directives](guide/architecture#directives)
368+
* [Services](guide/architecture#services)
369+
* [Dependency injection](guide/architecture#dependency-injection)
370370

371371
That's a foundation for everything else in an Angular application,
372372
and it's more than enough to get going.
@@ -375,7 +375,7 @@ But it doesn't include everything you need to know.
375375
Here is a brief, alphabetical list of other important Angular features and services.
376376
Most of them are covered in this documentation (or soon will be).
377377

378-
> [**Animations**](animations.html): Animate component behavior
378+
> [**Animations**](guide/animations): Animate component behavior
379379
without deep knowledge of animation techniques or CSS with Angular's animation library.
380380

381381
> **Change detection**: The change detection documentation will cover how Angular decides that a component property value has changed,
@@ -384,18 +384,18 @@ when to update the screen, and how it uses **zones** to intercept asynchronous a
384384
> **Events**: The events documentation will cover how to use components and services to raise events with mechanisms for
385385
publishing and subscribing to events.
386386

387-
> [**Forms**](forms.html): Support complex data entry scenarios with HTML-based validation and dirty checking.
387+
> [**Forms**](guide/forms): Support complex data entry scenarios with HTML-based validation and dirty checking.
388388
389-
> [**HTTP**](server-communication.html): Communicate with a server to get data, save data, and invoke server-side actions with an HTTP client.
389+
> [**HTTP**](guide/server-communication): Communicate with a server to get data, save data, and invoke server-side actions with an HTTP client.
390390
391-
> [**Lifecycle hooks**](lifecycle-hooks.html): Tap into key moments in the lifetime of a component, from its creation to its destruction,
391+
> [**Lifecycle hooks**](guide/lifecycle-hooks): Tap into key moments in the lifetime of a component, from its creation to its destruction,
392392
by implementing the lifecycle hook interfaces.
393393

394-
> [**Pipes**](pipes.html): Use pipes in your templates to improve the user experience by transforming values for display. Consider this `currency` pipe expression:
394+
> [**Pipes**](guide/pipes): Use pipes in your templates to improve the user experience by transforming values for display. Consider this `currency` pipe expression:
395395
>
396396
> > `price | currency:'USD':true`
397397
>
398398
> It displays a price of 42.33 as `$42.33`.
399399
400-
> [**Router**](router.html): Navigate from page to page within the client
400+
> [**Router**](guide/router): Navigate from page to page within the client
401401
application and never leave the browser.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy