Raw File
navigation.json
{
  "TopBar": [
    {
      "url": "features",
      "title": "Features"
    },
    {
      "url": "docs",
      "title": "Docs"
    },
    {
      "url": "resources",
      "title": "Resources"
    },
    {
      "url": "events",
      "title": "Events"
    },
    {
      "url": "https://blog.angular.io/",
      "title": "Blog"
    }
  ],
  "TopBarNarrow": [
    {
      "title": "About Angular",
      "children": [
        {
          "url": "features",
          "title": "Features"
        },
        {
          "url": "resources",
          "title": "Resources"
        },
        {
          "url": "events",
          "title": "Events"
        },
        {
          "url": "https://blog.angular.io/",
          "title": "Blog"
        }
      ]
    }
  ],
  "SideNav": [
    {
      "url": "docs",
      "title": "Introduction",
      "tooltip": "Welcome to the Angular documentation set.",
      "hidden": false
    },
    {
      "title": "Getting Started",
      "tooltip": "Set up your environment and learn basic concepts",
      "children": [
        {
          "url": "guide/what-is-angular",
          "title": "What is Angular?",
          "tooltip": "A brief description of the Angular platform."
        },
        {
          "title": "Try it",
          "tooltip": "Examine and work with a ready-made sample app, with no setup.",
          "children": [
            {
              "url": "start",
              "title": "Getting started",
              "tooltip": "Take a look at Angular's component model, template syntax, and component communication."
            },
            {
              "url": "start/start-routing",
              "title": "Adding navigation",
              "tooltip": "Navigate among different page views using the browser's URL."
            },
            {
              "url": "start/start-data",
              "title": "Managing Data",
              "tooltip": "Use services and access external data via HTTP."
            },
            {
              "url": "start/start-forms",
              "title": "Using Forms for User Input",
              "tooltip": "Learn about fetching and managing data from users with forms."
            },
            {
              "url": "start/start-deployment",
              "title": "Deploying an application",
              "tooltip": "Move to local development, or deploy your application to Firebase or your own server."
            }
          ]
        },
        {
          "url": "guide/setup-local",
          "title": "Setup",
          "tooltip": "Setting up for local development with the Angular CLI."
        }
      ]
    },
    {
      "title": "Understanding Angular",
      "tooltip": "Learn the essential concepts to become a proficient Angular developer.",
      "children": [
        {
          "title": "Overview",
          "url": "guide/understanding-angular-overview",
          "tooltip": "Learn about the most common parts of an Angular application."
        },
        {
          "title": "Components",
          "tooltip": "Learn more about how to use data binding to build dynamic views",
          "children": [
            {
              "url": "guide/component-overview",
              "title": "Overview",
              "tooltip": "Overview of how to create Angular components."
            },
            {
              "url": "guide/lifecycle-hooks",
              "title": "Component Lifecycle",
              "tooltip": "Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them."
            },
            {
              "url": "guide/view-encapsulation",
              "title": "View Encapsulation",
              "tooltip": "Describes how component CSS styles are encapsulated into a component's view."
            },
            {
              "url": "guide/component-interaction",
              "title": "Component Interaction",
              "tooltip": "Share information between different directives and components."
            },
            {
              "url": "guide/component-styles",
              "title": "Component Styles",
              "tooltip": "Add CSS styles that are specific to a component."
            },
            {
              "url": "guide/inputs-outputs",
              "title": "Sharing data between child and parent directives and components",
              "tooltip": "Introductory guide to sharing data between parent and child directives or components."
            },
            {
              "url": "guide/content-projection",
              "title": "Content Projection",
              "tooltip": "Learn how to create reusable components using Angular's content projection feature."
            },
            {
              "url": "guide/dynamic-component-loader",
              "title": "Dynamic Components",
              "tooltip": "Load components dynamically."
            },
            {
              "url": "guide/elements",
              "title": "Angular Elements",
              "tooltip": "Convert components to Custom Elements."
            }
          ]
        },
        {
          "title": "Templates",
          "tooltip": "Syntax to use in templates for binding, expressions, and directives.",
          "children": [
            {
              "url": "guide/template-syntax",
              "title": "Introduction",
              "tooltip": "Introduction to writing templates that display data and consume user events with the help of data binding."
            },
            {
              "url": "guide/interpolation",
              "title": "Text interpolation",
              "tooltip": "An introduction to interpolation and expressions in HTML."
            },
            {
              "url": "guide/template-statements",
              "title": "Template statements",
              "tooltip": "Introductory guide to statements in templates that respond to events that components, directives, or elements raise."
            },
            {
              "url": "guide/pipes",
              "title": "Pipes",
              "tooltip": "Pipes transform displayed values within a template."
            },
            {
              "url": "guide/property-binding",
              "title": "Property binding",
              "tooltip": "Introductory guide to setting element or input properties."
            },
            {
              "url": "guide/attribute-binding",
              "title": "Attribute, class, and style bindings",
              "tooltip": "Introductory guide to setting the value of HTML attributes."
            },
            {
              "url": "guide/event-binding",
              "title": "Event binding",
              "tooltip": "Introductory guide to listening for user interaction."
            },
            {
              "url": "guide/two-way-binding",
              "title": "Two-way binding",
              "tooltip": "Introductory guide to sharing data between a class and a template."
            },
            {
              "url": "guide/template-reference-variables",
              "title": "Template reference variables",
              "tooltip": "Introductory guide to referring to DOM elements within a template."
            },
            {
              "url": "guide/svg-in-templates",
              "title": "SVG as templates",
              "tooltip": "Learn how to use SVGs as templates for Angular applications."
            }
          ]
        },
        {
          "title": "Directives",
          "tooltip": "Control the behavior of elements and the layout of your pages with directives.",
          "children": [
            {
              "url": "guide/built-in-directives",
              "title": "Built-in directives",
              "tooltip": "Introductory guide to some of the most popular built-in directives."
            },
            {
              "url": "guide/attribute-directives",
              "title": "Attribute Directives",
              "tooltip": "Attribute directives attach behavior to elements."
            },
            {
              "url": "guide/structural-directives",
              "title": "Structural Directives",
              "tooltip": "Structural directives manipulate the layout of the page."
            }
          ]
        },
        {
          "title": "Dependency Injection",
          "tooltip": "Dependency Injection: creating and injecting services",
          "children": [
            {
              "url": "guide/dependency-injection",
              "title": "Angular Dependency Injection",
              "tooltip": "Angular's dependency injection system creates and delivers dependent services to Angular-created classes."
            },
            {
              "url": "guide/dependency-injection-providers",
              "title": "DI Providers",
              "tooltip": "More about the different kinds of providers."
            }
          ]
        }
      ]
    },
    {
      "title": "Developer guides",
      "tooltip": "Learn more about how to use Angular to build your applications.",
      "children": [
        {
          "url": "guide/developer-guide-overview",
          "title": "Overview",
          "tooltip": "A list of developer guides for building Angular applications."
        },
        {
          "title": "Routing and Navigation",
          "tooltip": "Learn how to use Angular Router to build in-app navigation between views.",
          "children": [
            {
              "url": "guide/routing-overview",
              "title": "Overview",
              "tooltip": "Introduces the Angular Router and lists topics that teach you how to add the router to your applications."
            },
            {
              "url": "guide/router",
              "title": "Common routing tasks",
              "tooltip": "Task-based content on many of the common tasks associated with Angular routing, such as defining routs, setting up wildcard routes, and redirects."
            },
            {
              "url": "guide/router-tutorial",
              "title": "Tutorial: Routing in Single-page Applications",
              "tooltip": "A tutorial that covers many patterns associated with Angular routing."
            },
            {
              "url": "guide/routing-with-urlmatcher",
              "title": "Tutorial: Creating custom route matches",
              "tooltip": "Learn how to create a custom URL matcher with the Angular router."
            },
            {
              "url": "guide/router-tutorial-toh",
              "title": "Tutorial: Adding routing to Tour of Heroes",
              "tooltip": "Explore how to use Angular's router. Based on the Tour of Heroes example."
            },
            {
              "url": "guide/router-reference",
              "title": "Router reference",
              "tooltip": "Describes highlight some core router API concepts."
            }
          ]
        },
        {
          "title": "Forms",
          "tooltip": "Forms creates a cohesive, effective, and compelling data entry experience.",
          "children": [
            {
              "url": "guide/forms-overview",
              "title": "Introduction",
              "tooltip": "An Angular form coordinates a set of data-bound user controls, tracks changes, validates input, and presents errors."
            },
            {
              "url": "guide/reactive-forms",
              "title": "Reactive Forms",
              "tooltip": "Create a reactive form using FormBuilder, groups, and arrays."
            },
            {
              "url": "guide/form-validation",
              "title": "Validate form input",
              "tooltip": "Validate user's form entries."
            },
            {
              "url": "guide/dynamic-form",
              "title": "Building Dynamic Forms",
              "tooltip": "Create dynamic form templates using FormGroup."
            }
          ]
        },
        {
          "url": "guide/http",
          "title": "HTTP Client",
          "tooltip": "Use HTTP to talk to a remote server."
        },
        {
          "title": "Testing",
          "tooltip": "Testing your Angular apps.",
          "children": [
            {
              "url": "guide/testing",
              "title": "Intro to Testing",
              "tooltip": "Introduction to testing an Angular app."
            },
            {
              "url": "guide/testing-code-coverage",
              "title": "Code Coverage",
              "tooltip": "Determine how much of your code is tested."
            },
            {
              "url": "guide/testing-services",
              "title": "Testing Services",
              "tooltip": "How to test services."
            },
            {
              "url": "guide/testing-components-basics",
              "title": "Basics of Testing Components",
              "tooltip": "The fundamentals of how to test components."
            },
            {
              "url": "guide/testing-components-scenarios",
              "title": "Component Testing Scenarios",
              "tooltip": "Use cases for testing components."
            },
            {
              "url": "guide/testing-attribute-directives",
              "title": "Testing Attribute Directives",
              "tooltip": "How to test attribute directives."
            },
            {
              "url": "guide/testing-pipes",
              "title": "Testing Pipes",
              "tooltip": "Writing tests for pipes."
            },
            {
              "url": "guide/test-debugging",
              "title": "Debugging Tests",
              "tooltip": "How to debug tests."
            },
            {
              "url": "guide/testing-utility-apis",
              "title": "Testing Utility APIs",
              "tooltip": "Features of the Angular testing utilities."
            }
          ]
        },
        {
          "title": "Internationalization",
          "tooltip": "Translate the text of your application text into multiple languages",
          "children": [
            {
              "url": "guide/i18n-overview",
              "title": "Overview",
              "tooltip": "Introduces the Angular internationalization and lists topics that teach you how to localize your applications"
            },
            {
              "title": "Common internationalization tasks",
              "tooltip": "Task-based content on many of the common tasks associated with Angular internationalization, such as adding the locale package and formatting data for a locale",
              "children": [
                {
                  "url": "guide/i18n-common-overview",
                  "title": "Overview",
                  "tooltip": "Introduces the common Angular internationalization tasks and lists topics that teach you how to localize your applications"
                },
                {
                  "url": "guide/i18n-common-add-package",
                  "title": "Add the localize package",
                  "tooltip": "Add the Angular localize package"
                },
                {
                  "url": "guide/i18n-common-locale-id",
                  "title": "Refer to locales by ID",
                  "tooltip": "Reference using locale IDs"
                },
                {
                  "url": "guide/i18n-common-format-data-locale",
                  "title": "Format data based on locale",
                  "tooltip": "Format data based on locale"
                },
                {
                  "url": "guide/i18n-common-prepare",
                  "title": "Prepare component for translation",
                  "tooltip": "Prepare component for translation"
                },
                {
                  "url": "guide/i18n-common-translation-files",
                  "title": "Work with translation files",
                  "tooltip": "Work with translation files"
                },
                {
                  "url": "guide/i18n-common-merge",
                  "title": "Merge translations into the app",
                  "tooltip": "Merge translations into your app"
                },
                {
                  "url": "guide/i18n-common-deploy",
                  "title": "Deploy multiple locales",
                  "tooltip": "Deploy multiple locale for your app"
                }
              ]
            },
            {
              "url": "guide/i18n-example",
              "title": "Example Angular application",
              "tooltip": "Example of a translated Angular application"
            },
            {
              "title": "Optional internationalization practices",
              "tooltip": "Task-based content on many of the optional pratices associated with Angular internationalization",
              "children": [
                {
                  "url": "guide/i18n-optional-overview",
                  "title": "Overview",
                  "tooltip": "Introduces the optional Angular internationalization tasks and lists topics that teach you how to manually configure localization settings for your applications"
                },
                {
                  "url": "guide/i18n-optional-manual-runtime-locale",
                  "title": "Set the runtime locale manually",
                  "tooltip": "Set the runtime locale manually"
                },
                {
                  "url": "guide/i18n-optional-import-global-variants",
                  "title": "Import global variants of the locale data",
                  "tooltip": "Import global variants of the locale data"
                },
                {
                  "url": "guide/i18n-optional-manage-marked-text",
                  "title": "Manage marked text with custom IDs",
                  "tooltip": "Manage marked text with custom IDs"
                }
              ]
            }
          ]
        },
        {
          "title": "Animations",
          "tooltip": "Enhance the user experience with animation.",
          "children": [
            {
              "url": "guide/animations",
              "title": "Introduction",
              "tooltip": "Basic techniques in Angular animations."
            },
            {
              "url": "guide/transition-and-triggers",
              "title": "Transition and Triggers",
              "tooltip": "Advanced techniques in transition and triggers."
            },
            {
              "url": "guide/complex-animation-sequences",
              "title": "Complex Sequences",
              "tooltip": "Complex Angular animation sequences."
            },
            {
              "url": "guide/reusable-animations",
              "title": "Reusable Animations",
              "tooltip": "Creating reusable animations."
            },
            {
              "url": "guide/route-animations",
              "title": "Route Transition Animations",
              "tooltip": "Animate route transitions."
            }
          ]
        },
        {
          "title": "Service Workers & PWA",
          "tooltip": "Angular service workers: Controlling caching of application resources.",
          "children": [
            {
              "url": "guide/service-worker-intro",
              "title": "Introduction",
              "tooltip": "Angular's implementation of service workers improves user experience with slow or unreliable network connectivity."
            },
            {
              "url": "guide/service-worker-getting-started",
              "title": "Getting Started",
              "tooltip": "Enabling the service worker in a CLI project and observing behavior in the browser."
            },
            {
              "url": "guide/app-shell",
              "title": "App Shell",
              "tooltip": "Render a portion of your app quickly to improve the startup experience."
            },
            {
              "url": "guide/service-worker-communications",
              "title": "Service Worker Communication",
              "tooltip": "Services that enable you to interact with an Angular service worker."
            },
            {
              "url": "guide/service-worker-notifications",
              "title": "Service Worker Notifications",
              "tooltip": "Configuring service worker notification behavior."
            },
            {
              "url": "guide/service-worker-devops",
              "title": "Service Worker in Production",
              "tooltip": "Running apps with service workers, managing app update, debugging, and killing apps."
            },
            {
              "url": "guide/service-worker-config",
              "title": "Service Worker Configuration",
              "tooltip": "Configuring service worker caching behavior."
            }
          ]
        },
        {
          "url": "guide/web-worker",
          "title": "Web Workers",
          "tooltip": "Using web workers for background processing."
        },
        {
          "url": "guide/universal",
          "title": "Server-side Rendering",
          "tooltip": "Render HTML server-side with Angular Universal."
        },
        {
          "url": "guide/prerendering",
          "title": "Prerendering",
          "tooltip": "Prerender HTML server-side with Angular Universal."
        }
      ]
    },
    {
      "title": "Best Practices",
      "tooltip": "Learn how to build robust, scalable applications.",
      "children": [
        {
          "url": "guide/security",
          "title": "Security",
          "tooltip": "Developing for content security in Angular applications."
        },
        {
          "url": "guide/accessibility",
          "title": "Accessibility",
          "tooltip": "Design apps to be accessible to all users."
        },
        {
          "url": "guide/updating",
          "title": "Keeping Up-to-Date",
          "tooltip": "Information about updating Angular applications and libraries to the latest version."
        },
        {
          "url": "guide/property-binding-best-practices",
          "title": "Property Binding Best Practices",
          "tooltip": "Use property binding efficiently."
        },
        {
          "url": "guide/lazy-loading-ngmodules",
          "title": "Lazy Loading Feature Modules",
          "tooltip": "Lazy load modules to speed up your apps."
        },
        {
          "url": "guide/lightweight-injection-tokens",
          "title": "Lightweight Injection Tokens for Libraries",
          "tooltip": "Optimize client app size by designing library services with lightweight injection tokens."
        }
      ]
    },
    {
      "title": "Angular Tools",
      "tooltip": "Tools to help you build your Angular applications.",
      "children": [
        {
          "title": "Dev Workflow",
          "tooltip": "Build, and deployment information.",
          "children": [
            {
              "url": "guide/deployment",
              "title": "Deploying applications",
              "tooltip": "Learn how to deploy your Angular app."
            },
            {
              "title": "AOT Compiler",
              "tooltip": "Understanding ahead-of-time compilation.",
              "children": [
                {
                  "url": "guide/aot-compiler",
                  "title": "Ahead-of-Time Compilation",
                  "tooltip": "Learn why and how to use the Ahead-of-Time (AOT) compiler."
                },
                {
                  "url": "guide/angular-compiler-options",
                  "title": "Angular Compiler Options",
                  "tooltip": "Configuring AOT compilation."
                },
                {
                  "url": "guide/aot-metadata-errors",
                  "title": "AOT Metadata Errors",
                  "tooltip": "Troubleshooting AOT compilation."
                },
                {
                  "url": "guide/template-typecheck",
                  "title": "Template Type-checking",
                  "tooltip": "Template type-checking in Angular."
                }
              ]
            },
            {
              "url": "guide/build",
              "title": "Building & Serving",
              "tooltip": "Building and serving Angular apps."
            }
          ]
        },
        {
          "url": "guide/cli-builder",
          "title": "CLI Builders",
          "tooltip": "Using builders to customize Angular CLI."
        },
        {
          "url": "guide/language-service",
          "title": "Language Service",
          "tooltip": "Use Angular Language Service to speed up dev time."
        },
        {
          "title": "DevTools",
          "tooltip": "DevTools",
          "url": "guide/devtools"
        },
        {
          "title": "Schematics",
          "tooltip": "Understanding schematics.",
          "children": [
            {
              "url": "guide/schematics",
              "title": "Schematics Overview",
              "tooltip": "Extending CLI generation capabilities."
            },
            {
              "url": "guide/schematics-authoring",
              "title": "Authoring Schematics",
              "tooltip": "Understand the structure of a schematic."
            },
            {
              "url": "guide/schematics-for-libraries",
              "title": "Schematics for Libraries",
              "tooltip": "Use schematics to integrate your library with the Angular CLI."
            }
          ]
        }
      ]
    },
    {
      "title": "Tutorials",
      "tooltip": "End-to-end tutorials for learning Angular concepts and patterns.",
      "children": [
        {
          "title": "Tutorial: Tour of Heroes",
          "tooltip": "The Tour of Heroes app is used as a reference point in many Angular examples.",
          "children": [
            {
              "url": "tutorial",
              "title": "Introduction",
              "tooltip": "Introduction to the Tour of Heroes app and tutorial"
            },
            {
              "url": "tutorial/toh-pt0",
              "title": "Create a Project",
              "tooltip": "Creating the application shell"
            },
            {
              "url": "tutorial/toh-pt1",
              "title": "1. The Hero Editor",
              "tooltip": "Part 1: Build a simple editor"
            },
            {
              "url": "tutorial/toh-pt2",
              "title": "2. Display a List",
              "tooltip": "Part 2: Build a master/detail page with a list of heroes."
            },
            {
              "url": "tutorial/toh-pt3",
              "title": "3. Create a Feature Component",
              "tooltip": "Part 3: Refactor the master/detail views into separate components."
            },
            {
              "url": "tutorial/toh-pt4",
              "title": "4. Add Services",
              "tooltip": "Part 4: Create a reusable service to manage hero data."
            },
            {
              "url": "tutorial/toh-pt5",
              "title": "5. Add Navigation",
              "tooltip": "Part 5: Add the Angular router and navigate among the views."
            },
            {
              "url": "tutorial/toh-pt6",
              "title": "6. Get Data from a Server",
              "tooltip": "Part 6: Use HTTP to retrieve and save hero data."
            }
          ]
        },
        {
          "url": "guide/forms",
          "title": "Building a Template-driven Form",
          "tooltip": "Create a template-driven form using directives and Angular template syntax."
        },
        {
          "title": "Angular Libraries",
          "tooltip": "Extending Angular with shared libraries.",
          "children": [
            {
              "url": "guide/libraries",
              "title": "Libraries Overview",
              "tooltip": "Understand how and when to use or create libraries."
            },
            {
              "url": "guide/using-libraries",
              "title": "Using Published Libraries",
              "tooltip": "Integrate published libraries into an app."
            },
            {
              "url": "guide/creating-libraries",
              "title": "Creating Libraries",
              "tooltip": "Extend Angular by creating, publishing, and using your own libraries."
            },
            {
              "url": "guide/angular-package-format",
              "title": "Angular Package Format",
              "tooltip": "Information about the Angular Package Format."
            }
          ]
        }
      ]
    },
    {
      "title": "Release Information",
      "tooltip": "Angular release practices, updating, and upgrading.",
      "children": [
        {
          "url": "guide/releases",
          "title": "Release Practices",
          "tooltip": "Angular versioning, release, support, and deprecation policies and practices."
        },
        {
          "url": "guide/roadmap",
          "title": "Roadmap",
          "tooltip": "Roadmap of the Angular team."
        },
        {
          "url": "guide/browser-support",
          "title": "Browser Support",
          "tooltip": "Browser support and polyfills guide."
        },
        {
          "url": "guide/update-to-latest-version",
          "title": "Update to Version 13",
          "tooltip": "Support to update your application to version 13"
        },
        {
          "url": "guide/deprecations",
          "title": "Deprecations",
          "tooltip": "Summary of Angular APIs and features that are deprecated."
        },
        {
          "title": "Upgrading from AngularJS",
          "tooltip": "Incrementally upgrade an AngularJS application to Angular.",
          "children": [
            {
              "url": "guide/upgrade",
              "title": "Upgrading Instructions",
              "tooltip": "Incrementally upgrade an AngularJS application to Angular."
            },
            {
              "url": "guide/upgrade-setup",
              "title": "Setup for Upgrading from AngularJS",
              "tooltip": "Use code from the Angular QuickStart seed as part of upgrading from AngularJS."
            },
            {
              "url": "guide/upgrade-performance",
              "title": "Upgrading for Performance",
              "tooltip": "Upgrade from AngularJS to Angular in a more flexible way."
            },
            {
              "url": "guide/ajs-quick-reference",
              "title": "AngularJS-Angular Concepts",
              "tooltip": "Learn how AngularJS concepts and techniques map to Angular."
            }
          ]
        }
      ]
    },
    {
      "title": "Reference",
      "tooltip": "Reference guides for Angular features and tools.",
      "children": [
        {
          "title": "Conceptual Reference",
          "tooltip": "Reference documentation that explains how Angular features work.",
          "children": [
            {
              "title": "Angular Concepts",
              "tooltip": "Introduction to basic concepts for Angular applications.",
              "children": [
                {
                  "url": "guide/architecture",
                  "title": "Intro to Basic Concepts",
                  "tooltip": "Basic building blocks of Angular applications."
                },
                {
                  "url": "guide/architecture-modules",
                  "title": "Intro to Modules",
                  "tooltip": "About NgModules."
                },
                {
                  "url": "guide/architecture-components",
                  "title": "Intro to Components",
                  "tooltip": "About Components, Templates, and Views."
                },
                {
                  "url": "guide/architecture-services",
                  "title": "Intro to Services and DI",
                  "tooltip": "About services and dependency injection."
                },
                {
                  "url": "guide/architecture-next-steps",
                  "title": "Next Steps",
                  "tooltip": "Beyond the basics."
                },
                {
                  "url": "guide/binding-syntax",
                  "title": "Binding syntax",
                  "tooltip": "Introductory guide to coordinating app values."
                },
                {
                  "url": "guide/event-binding-concepts",
                  "title": "How event binding works",
                  "tooltip": "About event binding."
                },
                {
                  "url": "guide/template-reference-variables",
                  "title": "Template variables",
                  "tooltip": "Introductory guide to referring to DOM elements within a template."
                }
              ]
            },
            {
              "title": "Workspace and project structure",
              "tooltip": "Workspace and project file structure and configuration.",
              "children": [
                {
                  "url": "guide/file-structure",
                  "title": "Project File Structure",
                  "tooltip": "How your Angular workspace looks on your filesystem."
                },
                {
                  "url": "guide/workspace-config",
                  "title": "Workspace Configuration",
                  "tooltip": "The \"angular.json\" file contains workspace and project configuration defaults for Angular CLI commands."
                },
                {
                  "url": "guide/npm-packages",
                  "title": "npm Dependencies",
                  "tooltip": "Description of npm packages required at development time and at runtime."
                },
                {
                  "url": "guide/typescript-configuration",
                  "title": "TypeScript Configuration",
                  "tooltip": "TypeScript configuration for Angular developers."
                },
                {
                  "url": "guide/strict-mode",
                  "title": "Strict mode",
                  "tooltip": "Reference documentation for Angular's strict mode.",
                  "hidden": true
                }
              ]
            },
            {
              "title": "NgModules",
              "tooltip": "NgModules.",
              "children": [
                {
                  "url": "guide/ngmodules",
                  "title": "NgModules Introduction",
                  "tooltip": "Use NgModules to make your apps efficient."
                },
                {
                  "url": "guide/ngmodule-vs-jsmodule",
                  "title": "JS Modules vs NgModules",
                  "tooltip": "Differentiate between JavaScript modules and NgModules."
                },
                {
                  "url": "guide/bootstrapping",
                  "title": "Launching Apps with a Root Module",
                  "tooltip": "Tell Angular how to construct and bootstrap the app in the root \"AppModule\"."
                },
                {
                  "url": "guide/frequent-ngmodules",
                  "title": "Frequently Used NgModules",
                  "tooltip": "Introduction to the most frequently used NgModules."
                },
                {
                  "url": "guide/module-types",
                  "title": "Types of Feature Modules",
                  "tooltip": "Description of the different types of feature modules."
                },
                {
                  "url": "guide/entry-components",
                  "title": "Entry Components",
                  "tooltip": "All about entry components in Angular."
                },
                {
                  "url": "guide/feature-modules",
                  "title": "Feature Modules",
                  "tooltip": "Create feature modules to organize your code."
                },
                {
                  "url": "guide/providers",
                  "title": "Providing Dependencies",
                  "tooltip": "Providing dependencies to NgModules."
                },
                {
                  "url": "guide/singleton-services",
                  "title": "Singleton Services",
                  "tooltip": "Creating singleton services."
                },
                {
                  "url": "guide/sharing-ngmodules",
                  "title": "Sharing NgModules",
                  "tooltip": "Share NgModules to streamline your apps."
                },
                {
                  "url": "guide/ngmodule-api",
                  "title": "NgModule API",
                  "tooltip": "Understand the details of NgModules."
                },
                {
                  "url": "guide/ngmodule-faq",
                  "title": "NgModule FAQs",
                  "tooltip": "Answers to frequently asked questions about NgModules."
                }
              ]
            },
            {
              "title": "Observables & RxJS",
              "tooltip": "Using observables for message passing in Angular.",
              "children": [
                {
                  "url": "guide/observables",
                  "title": "Observables Overview",
                  "tooltip": "Using observables to pass values synchronously or asynchronously."
                },
                {
                  "url": "guide/rx-library",
                  "title": "The RxJS Library",
                  "tooltip": "A library for reactive programming using observables to compose asynchronous or callback-based code."
                },
                {
                  "url": "guide/observables-in-angular",
                  "title": "Observables in Angular",
                  "tooltip": "How Angular subsystems use and expect observables."
                },
                {
                  "url": "guide/practical-observable-usage",
                  "title": "Practical Usage",
                  "tooltip": "Domains in which observables are particularly useful."
                },
                {
                  "url": "guide/comparing-observables",
                  "title": "Compare to Other Techniques",
                  "tooltip": "How observables compare to promises and other message passing techniques."
                }
              ]
            },
            {
              "title": "Dependency injection",
              "tooltip": "Using dependency injection in Angular.",
              "children": [
                {
                  "url": "guide/hierarchical-dependency-injection",
                  "title": "Hierarchical Injectors",
                  "tooltip": "An injector tree parallels the component tree and supports nested dependencies."
                },
                {
                  "url": "guide/dependency-injection-in-action",
                  "title": "DI in Action",
                  "tooltip": "Techniques for dependency injection."
                }
              ]
            }
          ]
        },
        {
          "title": "CLI Command Reference",
          "tooltip": "Angular CLI command reference.",
          "children": [
            {
              "title": "Overview",
              "tooltip": "An introduction to the CLI tool, commands, and syntax.",
              "url": "cli"
            },
            {
              "title": "Usage Analytics",
              "tooltip": "For administrators, guide to gathering usage analytics from your users.",
              "url": "cli/usage-analytics-gathering"
            }
          ]
        },
        {
          "title": "API Reference",
          "tooltip": "Details of the Angular packages, classes, interfaces, and other types.",
          "url": "api"
        },
        {
          "title": "Error Reference",
          "tooltip": "Details of the errors that can be thrown by Angular.",
          "children": [
            {
              "title": "Overview",
              "url": "errors",
              "hidden": true
            }
          ]
        },
        {
          "title": "Extended Diagnostic Reference",
          "tooltip": "Details of extended diagnostics that can be emitted by the Angular compiler",
          "children": [
            {
              "url": "extended-diagnostics",
              "title": "Extended Diagnostics Overview",
              "tooltip": "Overview of extended diagnostics, what they are, and how to configure them."
            }
          ]
        },
        {
          "title": "Example applications",
          "tooltip": "List of all of the example applications in the Angular documentation.",
          "url": "guide/example-apps-list"
        },
        {
          "url": "guide/glossary",
          "title": "Angular Glossary",
          "tooltip": "Brief definitions of the most important words in the Angular vocabulary."
        },
        {
          "title": "Angular Style and Usage",
          "tooltip": "Summaries of Angular syntax, coding, and doc styles.",
          "children": [
            {
              "url": "guide/cheatsheet",
              "title": "Quick Reference",
              "tooltip": "A quick guide to common Angular coding techniques."
            },
            {
              "url": "guide/styleguide",
              "title": "Coding Style Guide",
              "tooltip": "Guidelines for writing Angular code."
            }
          ]
        },
        {
          "title": "Content Contributor's Guide",
          "tooltip": "Describes how to contribute to the Angular documentation.",
          "children": [
            {
              "url": "guide/contributors-guide-overview",
              "title": "Overview",
              "tooltip": "Provides an overview of how to contribute to Angular's documentation."
            },
            {
              "url": "guide/reviewing-content",
              "title": "Reviewing content",
              "tooltip": "Keep Angular content up-to-date by reviewing topics for accuracy."
            },
            {
              "url": "guide/updating-search-keywords",
              "title": "Updating search keywords",
              "tooltip": "Help users find the content they need by adding additional search keywords."
            },
            {
              "url": "guide/updating-content-github-ui",
              "title": "Updating content using GitHub UI",
              "tooltip": "Update topics in the browser through the GitHub user interface."
            },
            {
              "url": "guide/docs-style-guide",
              "title": "Documentation Style Guide",
              "tooltip": "Style guide for documentation authors."
            },
            {
              "url": "guide/localizing-angular",
              "title": "Angular doc localization guidelines",
              "tooltip": "Learn about the guidelines for localizing Angular documentation."
            },
            {
              "url": "guide/localized-documentation",
              "title": "Localized documentation",
              "tooltip": "A list of localized versions of the Angular documentation",
              "hidden": true
            }
          ]
        }
      ]
    }
  ],
  "Footer": [
    {
      "title": "Resources",
      "children": [
        {
          "url": "about",
          "title": "About",
          "tooltip": "Angular contributors."
        },
        {
          "url": "resources",
          "title": "Resource Listing",
          "tooltip": "Angular tools, training, and blogs from around the web."
        },
        {
          "url": "presskit",
          "title": "Press Kit",
          "tooltip": "Press contacts, logos, and branding."
        },
        {
          "url": "https://blog.angular.io/",
          "title": "Blog",
          "tooltip": "Angular Blog"
        },
        {
          "url": "analytics",
          "title": "Usage Analytics",
          "tooltip": "Angular Usage Analytics"
        }
      ]
    },
    {
      "title": "Help",
      "children": [
        {
          "url": "https://stackoverflow.com/questions/tagged/angular",
          "title": "Stack Overflow",
          "tooltip": "Stack Overflow: where the community answers your technical Angular questions."
        },
        {
          "url": "https://discord.gg/angular",
          "title": "Join Discord",
          "tooltip": "Join the discussions at Angular Community Discord server."
        },
        {
          "url": "https://gitter.im/angular/angular",
          "title": "Gitter",
          "tooltip": "Chat about Angular with other birds of a feather."
        },
        {
          "url": "https://github.com/angular/angular/issues",
          "title": "Report Issues",
          "tooltip": "Post issues and suggestions on github."
        },
        {
          "url": "https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md",
          "title": "Code of Conduct",
          "tooltip": "Treating each other with respect."
        }
      ]
    },
    {
      "title": "Community",
      "children": [
        {
          "url": "events",
          "title": "Events",
          "tooltip": "Angular events around the world."
        },
        {
          "url": "https://www.meetup.com/topics/angularjs/",
          "title": "Meetups",
          "tooltip": "Attend a meetup and learn from fellow developers."
        },
        {
          "url": "https://twitter.com/angular",
          "title": "Twitter",
          "tooltip": "Twitter"
        },
        {
          "url": "https://github.com/angular/angular",
          "title": "GitHub",
          "tooltip": "GitHub"
        },
        {
          "url": "contribute",
          "title": "Contribute",
          "tooltip": "Contribute to Angular"
        }
      ]
    },
    {
      "title": "Languages",
      "children": [
        {
          "title": "Español",
          "url": "http://docs.angular.lat/"
        },
        {
          "title": "简体中文版",
          "url": "https://angular.cn/"
        },
        {
          "title": "正體中文版",
          "url": "https://angular.tw/"
        },
        {
          "title": "日本語版",
          "url": "https://angular.jp/"
        },
        {
          "title": "한국어",
          "url": "https://angular.kr/"
        },
        {
          "title": "Complete language list",
          "url": "guide/localized-documentation"
        }
      ]
    }
  ]
}
back to top