-
Notifications
You must be signed in to change notification settings - Fork 2
/
api.html
2 lines (2 loc) · 208 KB
/
api.html
1
2
<!DOCTYPE html><html lang="zh-Hans"><head><meta charset="utf-8"><title>Angular - API 列表link</title><meta name="Description" content="Angular is a platform for building mobile and desktop web applications.
Join the community of millions of developers who build compelling user interfaces with Angular."><base href="/"><link rel="preconnect" href="https://www.google-analytics.com"><link rel="dns-prefetch" href="https://www.google-analytics.com"><link rel="preconnect" href="https://stats.g.doubleclick.net"><link rel="dns-prefetch" href="https://stats.g.doubleclick.net"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="search" type="application/opensearchdescription+xml" href="assets/opensearch.xml"><link rel="icon" type="image/x-icon" href="assets/images/favicons/favicon.ico"><link rel="icon" type="image/png" href="assets/images/favicons/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="assets/images/favicons/favicon-194x194.png" sizes="194x194"><link rel="icon" type="image/png" href="assets/images/favicons/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/png" href="assets/images/favicons/favicon-16x16.png" sizes="16x16"><link rel="apple-touch-icon" sizes="144x144" href="assets/images/favicons/favicon-144x144.png"><link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/images/favicons/favicon-144x144.png"><style>@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5vAA.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Me5g.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9vAA.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fCRc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fABc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fCBc4AMP6lbBP.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fBxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fCxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fChc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmSU5fBBc4AMP6lQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu72xKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu7mxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu4WxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu7WxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fCRc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fABc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fCBc4AMP6lbBP.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fBxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fCxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fChc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style><style>@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_gPqPQA.woff) format('woff')}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vqPQA.woff) format('woff')}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_7PqPQA.woff) format('woff')}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhGq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhPq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhIq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhEq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhFq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhLq3-cXbKD.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhGq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhPq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhIq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhEq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhFq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhLq3-cXbKD.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhGq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhPq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhIq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhEq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhFq3-cXbKDO1w.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v13/L0x5DF4xlVMF-BfR8bXMIjhLq3-cXbKD.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style><style>@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;font-display:block;src:url(https://fonts.gstatic.com/s/materialicons/v85/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.woff) format('woff')}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga'}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;font-display:block;src:url(https://fonts.gstatic.com/s/materialicons/v85/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format('woff2')}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}</style><link rel="manifest" href="pwa-manifest.json"><meta name="theme-color" content="#1976d2"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="translucent"><script async="" src="assets/js/analytics.js"></script><script>!function(e,a,n,t,s,c,g){e.GoogleAnalyticsObject=s,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(n),g=a.getElementsByTagName(n)[0],c.async=1,c.src="assets/js/analytics.js",~e.name.indexOf("NG_DEFER_BOOTSTRAP")||g.parentNode.insertBefore(c,g)}(window,document,"script",0,"ga")</script><script>window.onerror=function(){ga("send","exception",{exDescription:function(e,r,n,a,c){var l;e=e.replace(/^Error: /,""),l=c?c.stack.replace(/^Error: /,"").replace(e+"\n","").replace(/^ +/gm,"").replace(/^at /gm,"").replace(/(?: \(|@)http.+\/([^/)]+)\)?(?:\n|$)/gm,"@$1\n").replace(/ *\(eval code(:\d+:\d+)\)(?:\n|$)/gm,"@???$1\n"):r+":"+(n=n||"?")+":"+(a=a||"?");return(e+"\n"+l).substr(0,150)}.apply(null,arguments),exFatal:!0})}</script><style>html{font-size:62.5%}body{font-family:Roboto,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;margin:0;color:#444;font-size:16px;font-size:1.6rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{height:100%}body{background-color:#fff}@media print{*{box-shadow:none!important}body{background:0 0!important}}</style><link rel="stylesheet" href="styles.530b0c2c887ba04e1b25.css" media="print" onload='this.media="all"'><noscript><link rel="stylesheet" href="styles.530b0c2c887ba04e1b25.css"></noscript><style>.cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}</style><style>.mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1,1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}</style><style>.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover:none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-flat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-focus-overlay,.mat-stroked-button .mat-button-ripple.mat-ripple{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0,0,0);transition:background .4s cubic-bezier(.25,.8,.25,1),box-shadow 280ms cubic-bezier(.4,0,.2,1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button .mat-icon,.mat-icon-button i{line-height:24px}.mat-button-focus-overlay,.mat-button-ripple.mat-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity .2s cubic-bezier(.35,0,.25,1),background-color .2s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-mini-fab,.cdk-high-contrast-active .mat-raised-button{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}</style><style>.mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%,0,0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active .mat-drawer.mat-drawer-end,.cdk-high-contrast-active [dir=rtl] .mat-drawer{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer{transform:translate3d(100%,0,0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%,0,0)}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}</style><style>.nav-link.highlight[_ngcontent-ng-docs-c30]{color:#ff0}</style><style>.mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}._mat-animation-noopable.mat-progress-bar{transition:none;animation:none}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-background{display:none}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:"";display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2s infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2s infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2s infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after{animation:none;transition-duration:1ms}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(.5,0,.701732,.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(.302435,.381352,.55,.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(.334731,.12482,.785844,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(.06,.11,.6,1);transform:scaleX(.661479)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(.15,0,.515058,.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(.31033,.284058,.8,.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(.4,.627035,.6,.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(.15,0,.515058,.409685);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(.31033,.284058,.8,.733712);transform:scaleX(.457104)}44.15%{animation-timing-function:cubic-bezier(.4,.627035,.6,.902026);transform:scaleX(.72796)}100%{transform:scaleX(.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}</style></head><body><aio-shell ng-version="12.0.0-rc.2" class="aio-notification-hide folder-api mode-stable page-api sidenav-open view-SideNav"><div id="top-of-page"></div><mat-toolbar color="primary" class="mat-toolbar app-toolbar no-print mat-primary mat-toolbar-multiple-rows"><mat-toolbar-row class="mat-toolbar-row notification-container"><aio-notification notificationid="survey-march-2020" expirationdate="2020-04-15" class="ng-tns-c22-0 ng-trigger ng-trigger-hideAnimation ng-star-inserted" style="height:0"><span class="content ng-tns-c22-0"><a href="https://goo.gle/angular-survey-2020" target="_blank" class="ng-tns-c22-0"><mat-icon role="img" svgicon="insert_comment" aria-label="Announcement" class="mat-icon notranslate icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="insert_comment"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></mat-icon><span class="message"><b>填写这份《一分钟调查》</b>,帮我们(开发组)做得更好!</span><span class="action-button">去填写</span></a></span><button mat-icon-button="" aria-label="Close" class="mat-focus-indicator close-button ng-tns-c22-0 mat-icon-button mat-button-base"><span class="mat-button-wrapper"><mat-icon role="img" svgicon="close" aria-label="Dismiss notification" class="mat-icon notranslate mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="close"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></mat-icon></span><span matripple="" class="mat-ripple mat-button-ripple mat-button-ripple-round"></span><span class="mat-button-focus-overlay"></span></button></aio-notification></mat-toolbar-row><mat-toolbar-row class="mat-toolbar-row"><button mat-button="" title="Docs menu" class="mat-focus-indicator hamburger mat-button mat-button-base"><span class="mat-button-wrapper"><mat-icon role="img" svgicon="menu" class="mat-icon notranslate mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="menu"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></svg></mat-icon></span><span matripple="" class="mat-ripple mat-button-ripple"></span><span class="mat-button-focus-overlay"></span></button><a href="/" class="nav-link home"><img src="assets/images/logos/angular/[email protected]" width="150" height="40" title="Home" alt="Home" class="ng-star-inserted"></a><aio-top-menu _nghost-ng-docs-c30="" class="ng-star-inserted"><ul _ngcontent-ng-docs-c30="" role="navigation"><li _ngcontent-ng-docs-c30="" class="ng-star-inserted"><a _ngcontent-ng-docs-c30="" class="nav-link" href="features" title="特性" target="_self"><span _ngcontent-ng-docs-c30="" class="nav-link-inner">特性</span></a></li><li _ngcontent-ng-docs-c30="" class="ng-star-inserted"><a _ngcontent-ng-docs-c30="" class="nav-link" href="docs" title="文档" target="_self"><span _ngcontent-ng-docs-c30="" class="nav-link-inner">文档</span></a></li><li _ngcontent-ng-docs-c30="" class="ng-star-inserted"><a _ngcontent-ng-docs-c30="" class="nav-link" href="resources" title="资源" target="_self"><span _ngcontent-ng-docs-c30="" class="nav-link-inner">资源</span></a></li><li _ngcontent-ng-docs-c30="" class="ng-star-inserted"><a _ngcontent-ng-docs-c30="" class="nav-link" href="events" title="会议" target="_self"><span _ngcontent-ng-docs-c30="" class="nav-link-inner">会议</span></a></li><li _ngcontent-ng-docs-c30="" class="ng-star-inserted"><a _ngcontent-ng-docs-c30="" class="nav-link" href="https://blog.ralph.wang" title="译者汪志成的博客,包括翻译文章和原创文章" target="_blank"><span _ngcontent-ng-docs-c30="" class="nav-link-inner">译者博客</span></a></li><li _ngcontent-ng-docs-c30="" class="ng-star-inserted"><a _ngcontent-ng-docs-c30="" class="nav-link" href="translations/cn/home" title="关于中文版" target="_self"><span _ngcontent-ng-docs-c30="" class="nav-link-inner">关于中文版</span></a></li></ul></aio-top-menu><aio-search-box class="search-container"><input type="search" aria-label="search" placeholder="搜索"></aio-search-box><div class="toolbar-external-icons-container"><a href="https://twitter.com/angular" title="Twitter" aria-label="Angular on twitter"><mat-icon role="img" svgicon="logos:twitter" class="mat-icon notranslate mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="twitter" data-mat-icon-namespace="logos"><svg focusable="false" viewBox="0 0 50 59" xmlns="http://www.w3.org/2000/svg"><path d="M50,9.3c-1.8,0.8-3.8,1.4-5.9,1.6c2.1-1.3,3.7-3.3,4.5-5.7c-2,1.2-4.2,2-6.5,2.5c-1.9-2-4.5-3.2-7.5-3.2c-5.7,0-10.3,4.6-10.3,10.3c0,0.8,0.1,1.6,0.3,2.3C16.1,16.7,8.5,12.6,3.5,6.4c-0.9,1.5-1.4,3.3-1.4,5.2c0,3.6,1.8,6.7,4.6,8.5C5,20,3.4,19.6,2,18.8c0,0,0,0.1,0,0.1c0,5,3.5,9.1,8.2,10.1c-0.9,0.2-1.8,0.4-2.7,0.4c-0.7,0-1.3-0.1-1.9-0.2c1.3,4.1,5.1,7,9.6,7.1c-3.5,2.8-7.9,4.4-12.7,4.4c-0.8,0-1.6,0-2.4-0.1c4.5,2.9,9.9,4.6,15.7,4.6c18.9,0,29.2-15.6,29.2-29.2c0-0.4,0-0.9,0-1.3C46.9,13.2,48.6,11.4,50,9.3z"></path></svg></mat-icon></a><a href="https://github.com/angular/angular" title="GitHub" aria-label="Angular on github"><mat-icon role="img" svgicon="logos:github" class="mat-icon notranslate mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="github" data-mat-icon-namespace="logos"><svg focusable="false" viewBox="0 0 51.8 50.4" xmlns="http://www.w3.org/2000/svg"><path d="M25.9,0.2C11.8,0.2,0.3,11.7,0.3,25.8c0,11.3,7.3,20.9,17.5,24.3c1.3,0.2,1.7-0.6,1.7-1.2c0-0.6,0-2.6,0-4.8c-7.1,1.5-8.6-3-8.6-3c-1.2-3-2.8-3.7-2.8-3.7c-2.3-1.6,0.2-1.6,0.2-1.6c2.6,0.2,3.9,2.6,3.9,2.6c2.3,3.9,6,2.8,7.5,2.1c0.2-1.7,0.9-2.8,1.6-3.4c-5.7-0.6-11.7-2.8-11.7-12.7c0-2.8,1-5.1,2.6-6.9c-0.3-0.7-1.1-3.3,0.3-6.8c0,0,2.1-0.7,7,2.6c2-0.6,4.2-0.9,6.4-0.9c2.2,0,4.4,0.3,6.4,0.9c4.9-3.3,7-2.6,7-2.6c1.4,3.5,0.5,6.1,0.3,6.8c1.6,1.8,2.6,4.1,2.6,6.9c0,9.8-6,12-11.7,12.6c0.9,0.8,1.7,2.4,1.7,4.7c0,3.4,0,6.2,0,7c0,0.7,0.5,1.5,1.8,1.2c10.2-3.4,17.5-13,17.5-24.3C51.5,11.7,40.1,0.2,25.9,0.2z"></path></svg></mat-icon></a><a href="https://youtube.com/angular" title="YouTube" aria-label="Angular on YouTube"><mat-icon role="img" svgicon="logos:youtube" class="mat-icon notranslate mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="youtube" data-mat-icon-namespace="logos"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M21.58 7.19c-.23-.86-.91-1.54-1.77-1.77C18.25 5 12 5 12 5s-6.25 0-7.81.42c-.86.23-1.54.91-1.77 1.77C2 8.75 2 12 2 12s0 3.25.42 4.81c.23.86.91 1.54 1.77 1.77C5.75 19 12 19 12 19s6.25 0 7.81-.42c.86-.23 1.54-.91 1.77-1.77C22 15.25 22 12 22 12s0-3.25-.42-4.81zM10 15V9l5.2 3-5.2 3z"></path></svg></mat-icon></a></div></mat-toolbar-row></mat-toolbar><mat-sidenav-container role="main" class="mat-drawer-container mat-sidenav-container sidenav-container mat-drawer-transition"><div class="mat-drawer-backdrop ng-star-inserted"></div><div class="cdk-visually-hidden cdk-focus-trap-anchor" aria-hidden="true"></div><mat-sidenav tabindex="-1" class="mat-drawer mat-sidenav sidenav ng-tns-c18-1 ng-trigger ng-trigger-transform mat-drawer-side ng-star-inserted mat-drawer-opened" style="transform:none;visibility:visible"><div cdkscrollable="" class="mat-drawer-inner-container ng-tns-c18-1"><aio-nav-menu class="ng-tns-c18-1"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-1 collapsed ng-star-inserted" style="position:relative" href="docs" title="Angular 文档集欢迎你!" target="_self"><span>简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-1 collapsed ng-star-inserted" title="建立开发环境,并学习基本概念" aria-pressed="false"><span>快速上手</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-1 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/what-is-angular" title="A brief description of the Angular platform." target="_self"><span>什么是 Angular?</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="不必搭建环境,查看并试用现成的范例应用程序。" aria-pressed="false"><span>试一试</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="start" title="Take a look at Angular's component model, template syntax, and component communication." target="_self"><span>快速上手</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="start/start-routing" title="使用浏览器的 URL 在不同的页面视图之间导航。" target="_self"><span>添加导航</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="start/start-data" title="通过 HTTP 使用服务并访问外部数据。" target="_self"><span>管理数据</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="start/start-forms" title="学习如何使用表单从用户获取并管理数据。" target="_self"><span>使用表单进行用户输入</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="start/start-deployment" title="移到本地进行开发或者把应用部署到 Firebase 或你自己的服务器。" target="_self"><span>部署应用</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/setup-local" title="使用 Angular CLI 搭建本地开发环境。" target="_self"><span>搭建环境</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-1 collapsed ng-star-inserted" title="Learn the concepts essential to becoming a proficient Angular developer." aria-pressed="false"><span>了解 Angular</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-1 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="通过数据绑定构建动态视图" aria-pressed="false"><span>组件</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/component-overview" title="如何创建 Angular 组件概览。" target="_self"><span>概览</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/lifecycle-hooks" title="Angular 会在创建、修改、删除指令和组件时,调用一些生命周期钩子方法。" target="_self"><span>组件生命周期</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/view-encapsulation" title="Describes how component CSS styles are encapsulated into a component's view." target="_self"><span>视图包装</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/component-interaction" title="在不同的指令和组件之间共享信息" target="_self"><span>组件交互</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/component-styles" title="添加专属于某个组件的样式" target="_self"><span>组件样式</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/inputs-outputs" title="Introductory guide to sharing data between parent and child directives or components." target="_self"><span>在父子组件、指令之间共享数据</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/content-projection" title="Learn how to create reusable components using Angular's content projection feature." target="_self"><span>内容投影</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/dynamic-component-loader" title="动态加载组件" target="_self"><span>动态组件</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/elements" title="把组件转换成自定义元素" target="_self"><span>Angular 元素</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="用在模板中的绑定、表达式和指令语法" aria-pressed="false"><span>模板</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/template-syntax" title="模板编写简介,如何借助数据绑定机制来显示数据、消费用户事件" target="_self"><span>简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/interpolation" title="An introduction to interpolation and expressions in HTML." target="_self"><span>文本插值</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/template-statements" title="模板中的语句简介,包括响应组件、指令或元素发出的事件" target="_self"><span>模板语句</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/pipes" title="管道可以在模板中转换显示的内容" target="_self"><span>管道</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/property-binding" title="介绍如何设置元素或输入的属性。" target="_self"><span>属性绑定</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/attribute-binding" title="介绍如何设置 HTML 属性(Attribute)的值" target="_self"><span>属性(Attribute)、类、样式绑定</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/event-binding" title="Introductory guide to listening for user interaction." target="_self"><span>事件绑定</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/two-way-binding" title="Introductory guide to sharing data between a class and a template." target="_self"><span>双向绑定</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/template-reference-variables" title="Introductory guide to referring to DOM elements within a template." target="_self"><span>模板引用变量</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/inputs-outputs" title="Introductory guide to sharing data between parent and child directives or components." target="_self"><span>输入与输出</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/svg-in-templates" title="Learn how to use SVGs as templates for Angular applications." target="_self"><span>用 SVG 做模板</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Control the behavior of elements and the layout of your pages with directives." aria-pressed="false"><span>指令</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/built-in-directives" title="Introductory guide to some of the most popular built-in directives." target="_self"><span>内置指令</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/attribute-directives" title="Attribute directives attach behavior to elements." target="_self"><span>属性型指令</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/structural-directives" title="Structural directives manipulate the layout of the page." target="_self"><span>结构型指令</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="依赖注入:创建并注入各种服务。" aria-pressed="false"><span>依赖注入</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/dependency-injection" title="Angular 的依赖注入系统能够为 Angular 创建的类创建并交付它们所依赖的服务。" target="_self"><span>Angular 依赖注入</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/dependency-injection-providers" title="More about the different kinds of providers." target="_self"><span>DI 提供者</span></a></div></aio-nav-item></div></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-1 collapsed ng-star-inserted" title="Learn more about how to use Angular to build your applications." aria-pressed="false"><span>开发指南</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-1 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/router" title="使用 Angular 路由器在多个视图之间进行应用内导航。" target="_self"><span>路由与导航</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Forms creates a cohesive, effective, and compelling data entry experience." aria-pressed="false"><span>表单</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/forms-overview" title="An Angular form coordinates a set of data-bound user controls, tracks changes, validates input, and presents errors." target="_self"><span>简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/reactive-forms" title="Create a reactive form using FormBuilder, groups, and arrays." target="_self"><span>响应式表单</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/form-validation" title="Validate user's form entries." target="_self"><span>验证表单输入</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/dynamic-form" title="Create dynamic form templates using FormGroup." target="_self"><span>构建动态表单</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/http" title="Use HTTP to talk to a remote server." target="_self"><span>HTTP 客户端</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Testing your Angular apps." aria-pressed="false"><span>测试</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/testing" title="Introduction to testing an Angular app." target="_self"><span>测试简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/testing-code-coverage" title="Determine how much of your code is tested." target="_self"><span>代码覆盖率</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/testing-services" title="How to test services." target="_self"><span>测试服务</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/testing-components-basics" title="The fundamentals of how to test components." target="_self"><span>测试组件-基础</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/testing-components-scenarios" title="Use cases for testing components." target="_self"><span>组件测试场景</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/testing-attribute-directives" title="How to test attribute directives." target="_self"><span>测试属性型指令</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/testing-pipes" title="Writing tests for pipes." target="_self"><span>测试管道</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/test-debugging" title="How to debug tests." target="_self"><span>调试测试代码</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/testing-utility-apis" title="Features of the Angular testing utilities." target="_self"><span>测试工具 API</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/i18n" title="Translate the app's template text into multiple languages." target="_self"><span>国际化 (i18n)</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="通过动画增强用户体验。" aria-pressed="false"><span>动画</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/animations" title="Angular 动画的基础技术。" target="_self"><span>简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/transition-and-triggers" title="转场与触发器的高级技术。" target="_self"><span>转场与触发器</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/complex-animation-sequences" title="复杂的 Angular 动画序列。" target="_self"><span>复杂序列</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/reusable-animations" title="创建可复用的动画。" target="_self"><span>可复用动画</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/route-animations" title="为路由提供转场动画。" target="_self"><span>路由转场动画</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Understanding schematics." aria-pressed="false"><span>原理图(Schematics)</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/schematics" title="Extending CLI generation capabilities." target="_self"><span>原理图概览</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/schematics-authoring" title="Understand the structure of a schematic." target="_self"><span>编写原理图</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/schematics-for-libraries" title="Use schematics to integrate your library with the Angular CLI." target="_self"><span>库中的原理图</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Angular Service Worker: 控制应用资源的缓存。" aria-pressed="false"><span>Service Worker 与 PWA</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/service-worker-intro" title="Angular 对 Service Worker 的实现提升了慢速或不稳定的网络连接下的用户体验。" target="_self"><span>简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/service-worker-getting-started" title="在 CLI 项目中启用 Service Worker,并在浏览器中查看效果。" target="_self"><span>快速上手</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/app-shell" title="快速渲染应用的一部分,以增强启动时的体验。" target="_self"><span>应用外壳</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/service-worker-communications" title="那些能让你和 Angular 的 Service Worker 通讯的服务类。" target="_self"><span>与 Service Worker 通讯</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/service-worker-devops" title="运行带有 Service Worker 的应用、管理应用的更新、调试以及杀死应用。" target="_self"><span>生产环境下的 Service Worker</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/service-worker-config" title="配置 Service Worker 的缓存行为。" target="_self"><span>Service Worker 配置</span></a></div></aio-nav-item></div></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-1 collapsed ng-star-inserted" title="Learn how to build robust, scalable applications." aria-pressed="false"><span>最佳实践</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-1 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/security" title="Developing for content security in Angular applications." target="_self"><span>安全</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/accessibility" title="Design apps to be accessible to all users." target="_self"><span>无障碍性</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/updating" title="Information about updating Angular applications and libraries to the latest version." target="_self"><span>保持最新</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/property-binding-best-practices" title="Use property binding efficiently." target="_self"><span>属性绑定的最佳实践</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/lazy-loading-ngmodules" title="Lazy load modules to speed up your apps." target="_self"><span>惰性加载特性模块</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/lightweight-injection-tokens" title="Optimize client app size by designing library services with lightweight injection tokens." target="_self"><span>为库准备的轻量级注入令牌</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-1 collapsed ng-star-inserted" title="Tools to help you build your Angular applications." aria-pressed="false"><span>Angular 工具</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-1 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Build, and deployment information." aria-pressed="false"><span>开发工作流</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/deployment" title="Learn how to deploy your Angular app." target="_self"><span>部署应用</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-3 collapsed ng-star-inserted" title="Understanding ahead-of-time compilation." aria-pressed="false"><span>预先(AOT)编译器</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-3 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/aot-compiler" title="Learn why and how to use the Ahead-of-Time (AOT) compiler." target="_self"><span>预先编译</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/angular-compiler-options" title="Configuring AOT compilation." target="_self"><span>Angular 编译器选项</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/aot-metadata-errors" title="Troubleshooting AOT compilation." target="_self"><span>AOT 元数据错误</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/template-typecheck" title="Template type-checking in Angular." target="_self"><span>模板类型检查</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/build" title="Building and serving Angular apps." target="_self"><span>构建与本地服务器</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/cli-builder" title="Using builders to customize Angular CLI." target="_self"><span>CLI 构建器</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/universal" title="Render HTML server-side with Angular Universal." target="_self"><span>服务端渲染</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/language-service" title="Use Angular Language Service to speed up dev time." target="_self"><span>语言服务</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-1 collapsed ng-star-inserted" title="End-to-end tutorials for learning Angular concepts and patterns." aria-pressed="false"><span>教程</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-1 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="The Tour of Heroes app is used as a reference point in many Angular examples." aria-pressed="false"><span>教程:英雄之旅</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="tutorial" title="Introduction to the Tour of Heroes app and tutorial" target="_self"><span>简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="tutorial/toh-pt0" title="Creating the application shell" target="_self"><span>创建项目</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="tutorial/toh-pt1" title="Part 1: Build a simple editor" target="_self"><span>1. 英雄编辑器</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="tutorial/toh-pt2" title="Part 2: Build a master/detail page with a list of heroes." target="_self"><span>2. 显示英雄列表</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="tutorial/toh-pt3" title="Part 3: Refactor the master/detail views into separate components." target="_self"><span>3. 创建特性组件</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="tutorial/toh-pt4" title="Part 4: Create a reusable service to manage hero data." target="_self"><span>4. 添加服务</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="tutorial/toh-pt5" title="Part 5: Add the Angular router and navigate among the views." target="_self"><span>5. 添加导航</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="tutorial/toh-pt6" title="Part 6: Use HTTP to retrieve and save hero data." target="_self"><span>6. 从服务器获取数据</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="End-to-end tutorials for learning about Angular's router." aria-pressed="false"><span>路由</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/router-tutorial" title="A tutorial that covers many patterns associated with Angular routing." target="_self"><span>在单页面应用中使用路由</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/router-tutorial-toh" title="Explore how to use Angular's router. Based on the Tour of Heroes example." target="_self"><span>路由器教程:英雄之旅</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/forms" title="Create a template-driven form using directives and Angular template syntax." target="_self"><span>构建模板驱动表单</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/web-worker" title="Using web workers for background processing." target="_self"><span>Web Workers</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="使用共享库扩展 Angular" aria-pressed="false"><span>Angular 库</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/libraries" title="了解如何以及何时使用或创建库" target="_self"><span>库概览</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/using-libraries" title="把已发布的库集成到应用中" target="_self"><span>使用已发布的库</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/creating-libraries" title="通过创建、发布和使用自定义库来扩展 Angular" target="_self"><span>创建库</span></a></div></aio-nav-item></div></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-1 collapsed ng-star-inserted" title="Angular 的版本发布实践、更新与升级。" aria-pressed="false"><span>发布信息</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-1 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/releases" title="Angular 的版本、发布、支持、弃用策略及实践。" target="_self"><span>发布实践</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/roadmap" title="Roadmap of the Angular team." target="_self"><span>路线图</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Support for updating your application from version 11 to 12." aria-pressed="false"><span>升级到 v12</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/updating-to-version-12" title="Everything you need to know for updating your application from version 11 to 12." target="_self"><span>概览</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/ivy-compatibility" title="Details to help you make sure your application is compatible with Ivy." target="_self"><span>Ivy 兼容性指南</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/migration-legacy-message-id" title="Learn how to migrate legacy IDs for localization to new, more stable ones." target="_self"><span>迁移:遗留的本地化 ID</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/deprecations" title="弃用的 Angular API 和特性汇总。" target="_self"><span>弃用清单</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/ivy" title="关于 Angular Ivy 的编译与渲染管道。" target="_self"><span>Angular Ivy</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="把 AngularJS 应用增量式的升级到 Angular。" aria-pressed="false"><span>从 AngularJS 升级</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/upgrade" title="把 AngularJS 应用增量式的升级到 Angular。" target="_self"><span>升级步骤</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/upgrade-performance" title="用更灵活的方式把 AngularJS 升级到 Angular。" target="_self"><span>更关注性能的升级方式</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/ajs-quick-reference" title="学习如何把 AngularJS 的概念映射到 Angular 中。" target="_self"><span>AngularJS 与 Angular 的概念对照</span></a></div></aio-nav-item></div></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-1 expanded selected ng-star-inserted" title="Reference guides for Angular features and tools." aria-pressed="true"><span>参考手册</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-1 expanded selected"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Reference documentation that explains how Angular features work." aria-pressed="false"><span>概念参考手册</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-3 collapsed ng-star-inserted" title="Introduction to basic concepts for Angular applications." aria-pressed="false"><span>Angular 概念</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-3 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/architecture" title="Basic building blocks of Angular applications." target="_self"><span>基本概念简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/architecture-modules" title="About NgModules." target="_self"><span>模块简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/architecture-components" title="About Components, Templates, and Views." target="_self"><span>组件简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/architecture-services" title="About services and dependency injection." target="_self"><span>服务与 DI 简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/architecture-next-steps" title="Beyond the basics." target="_self"><span>后续步骤</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/binding-syntax" title="Introductory guide to coordinating app values." target="_self"><span>绑定语法</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/event-binding-concepts" title="About event binding." target="_self"><span>事件绑定原理</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/template-reference-variables" title="Introductory guide to referring to DOM elements within a template." target="_self"><span>模板变量</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-3 collapsed ng-star-inserted" title="Workspace and project file structure and configuration." aria-pressed="false"><span>工作区与项目的结构</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-3 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/file-structure" title="How your Angular workspace looks on your filesystem." target="_self"><span>项目文件结构</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/workspace-config" title="The "angular.json" file contains workspace and project configuration defaults for Angular CLI commands." target="_self"><span>工作区配置</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/npm-packages" title="Description of npm packages required at development time and at runtime." target="_self"><span>npm 依赖</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/typescript-configuration" title="TypeScript configuration for Angular developers." target="_self"><span>TypeScript 配置</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/browser-support" title="Browser support and polyfills guide." target="_self"><span>浏览器支持</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-3 collapsed ng-star-inserted" title="NgModules." aria-pressed="false"><span>Angular 模块</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-3 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/ngmodules" title="Use NgModules to make your apps efficient." target="_self"><span>简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/ngmodule-vs-jsmodule" title="Differentiate between JavaScript modules and NgModules." target="_self"><span>JS 模块 vs Angular 模块</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/bootstrapping" title="Tell Angular how to construct and bootstrap the app in the root "AppModule"." target="_self"><span>通过根模块启动应用</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/frequent-ngmodules" title="Introduction to the most frequently used NgModules." target="_self"><span>常用 Angular 模块</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/module-types" title="Description of the different types of feature modules." target="_self"><span>特性模块的类型</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/entry-components" title="All about entry components in Angular." target="_self"><span>入口组件</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/feature-modules" title="Create feature modules to organize your code." target="_self"><span>特性模块</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/providers" title="Providing dependencies to NgModules." target="_self"><span>提供依赖</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/singleton-services" title="Creating singleton services." target="_self"><span>单例服务</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/sharing-ngmodules" title="Share NgModules to streamline your apps." target="_self"><span>共享 Angular 模块</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/ngmodule-api" title="Understand the details of NgModules." target="_self"><span>NgModule API</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/ngmodule-faq" title="Answers to frequently asked questions about NgModules." target="_self"><span>NgModule 常见问题</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-3 collapsed ng-star-inserted" title="Using observables for message passing in Angular." aria-pressed="false"><span>Observables & RxJS</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-3 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/observables" title="Using observables to pass values synchronously or asynchronously." target="_self"><span>简介</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/rx-library" title="A library for reactive programming using observables to compose asynchronous or callback-based code." target="_self"><span>RxJS 库</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/observables-in-angular" title="How Angular subsystems use and expect observables." target="_self"><span>Angular 中的 Observables</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/practical-observable-usage" title="Domains in which observables are particularly useful." target="_self"><span>实际运用</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/comparing-observables" title="How observables compare to promises and other message passing techniques." target="_self"><span>与其它技术的比较</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-3 collapsed ng-star-inserted" title="Using dependency injection in Angular." aria-pressed="false"><span>依赖注入</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-3 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/hierarchical-dependency-injection" title="An injector tree parallels the component tree and supports nested dependencies." target="_self"><span>多级依赖注入</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-4 collapsed ng-star-inserted" style="position:relative" href="guide/dependency-injection-in-action" title="Techniques for dependency injection." target="_self"><span>DI 实战</span></a></div></aio-nav-item></div></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Angular CLI command reference." aria-pressed="false"><span>CLI 命令参考手册</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli" title="An introduction to the CLI tool, commands, and syntax." target="_self"><span>概览</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/usage-analytics-gathering" title="For administrators, guide to gathering usage analytics from your users." target="_self"><span>使用情况分析</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/add" title="ng add." target="_self"><span>ng add</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/analytics" title="ng analytics." target="_self"><span>ng analytics</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/build" title="ng build." target="_self"><span>ng build</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/config" title="ng config." target="_self"><span>ng config</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/deploy" title="ng deploy." target="_self"><span>ng deploy</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/doc" title="ng doc." target="_self"><span>ng doc</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/e2e" title="ng e2e." target="_self"><span>ng e2e</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/extract-i18n" title="ng extract-i18n." target="_self"><span>ng extract-i18n</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/generate" title="ng generate." target="_self"><span>ng generate</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/help" title="ng help." target="_self"><span>ng help</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/lint" title="ng lint." target="_self"><span>ng lint</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/new" title="ng new." target="_self"><span>ng new</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/run" title="ng run." target="_self"><span>ng run</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/serve" title="ng serve." target="_self"><span>ng serve</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/test" title="ng test." target="_self"><span>ng test</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/update" title="ng update." target="_self"><span>ng update</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="cli/version" title="ng version." target="_self"><span>ng version</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 expanded selected ng-star-inserted" style="position:relative" href="api" title="Details of the Angular packages, classes, interfaces, and other types." target="_self"><span>API 参考手册</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Details of the errors that can be thrown by Angular." aria-pressed="false"><span>报错参考手册</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG0100" title="Expression Changed After Checked" target="_self"><span>NG0100: Expression Changed After Checked</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG0200" title="Circular Dependency in DI" target="_self"><span>NG0200: Circular Dependency in DI</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG0201" title="No Provider Found" target="_self"><span>NG0201: No Provider Found</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG0300" title="Selector Collision" target="_self"><span>NG0300: Selector Collision</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG0301" title="Export Not Found" target="_self"><span>NG0301: Export Not Found</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG0302" title="Pipe Not Found" target="_self"><span>NG0302: Pipe Not Found</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG1001" title="Argument Not Literal" target="_self"><span>NG1001: Argument Not Literal</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG2003" title="Missing Token" target="_self"><span>NG2003: Missing Token</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG3003" title="Import Cycle Detected" target="_self"><span>NG3003: Import Cycle Detected</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG6999" title="Invalid metadata" target="_self"><span>NG6999: Invalid metadata</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG8001" title="Invalid Element" target="_self"><span>NG8001: Invalid Element</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG8002" title="Invalid Attribute" target="_self"><span>NG8002: Invalid Attribute</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="errors/NG8003" title="Missing Reference Target" target="_self"><span>NG8003: Missing Reference Target</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/example-apps-list" title="List of all of the example applications in the Angular documentation." target="_self"><span>范例应用</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-2 collapsed ng-star-inserted" style="position:relative" href="guide/glossary" title="Brief definitions of the most important words in the Angular vocabulary." target="_self"><span>Angular 词汇表</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Summaries of Angular syntax, coding, and doc styles." aria-pressed="false"><span>Angular 风格与用法</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/cheatsheet" title="A quick guide to common Angular coding techniques." target="_self"><span>速查表</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/styleguide" title="Guidelines for writing Angular code." target="_self"><span>代码风格指南</span></a></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><button type="button" class="vertical-menu-item heading level-2 collapsed ng-star-inserted" title="Describes how to contribute to the Angular documentation." aria-pressed="false"><span>内容贡献者指南</span><mat-icon role="img" svgicon="keyboard_arrow_right" class="mat-icon notranslate rotating-icon mat-icon-no-color" aria-hidden="true" data-mat-icon-type="svg" data-mat-icon-name="keyboard_arrow_right"><svg focusable="false" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"></path></svg></mat-icon></button><div class="heading-children level-2 collapsed"><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/contributors-guide-overview" title="Provides an overview of how to contribute to Angular's documentation." target="_self"><span>概览</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/reviewing-content" title="Keep Angular content up-to-date by reviewing topics for accuracy." target="_self"><span>内容复查</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/updating-search-keywords" title="Help users find the content they need by adding additional search keywords." target="_self"><span>更新搜索关键字</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/updating-content-github-ui" title="Update topics in the browser through the GitHub user interface." target="_self"><span>使用 GitHub UI 修改内容</span></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-3 collapsed ng-star-inserted" style="position:relative" href="guide/docs-style-guide" title="Style guide for documentation authors." target="_self"><span>文档风格指南</span></a></div></aio-nav-item></div></div></aio-nav-item></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><div class="mat-divider ng-star-inserted" style="margin:4px 20px;border-top:1px solid #d3d3d3"></div></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-1 collapsed ng-star-inserted" style="position:relative" href="https://github.com/ng-docs/ng-docs.github.io/issues" title="github 上的中文互助问答区" target="_blank"><span>互助问答</span><mat-icon role="img" class="mat-icon notranslate material-icons mat-icon-no-color ng-star-inserted" aria-hidden="true" data-mat-icon-type="font">open_in_new</mat-icon></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-1 collapsed ng-star-inserted" style="position:relative" href="https://material.angular.cn" title="Angular Material 组件库的中文文档" target="_blank"><span>官方 Material 组件库</span><mat-icon role="img" class="mat-icon notranslate material-icons mat-icon-no-color ng-star-inserted" aria-hidden="true" data-mat-icon-type="font">open_in_new</mat-icon></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-1 collapsed ng-star-inserted" style="position:relative" href="https://ng.ant.design/" title="Ant Design 的 Angular 实现,服务于企业级后台产品。" target="_blank"><span>ng-zorro 组件库</span><mat-icon role="img" class="mat-icon notranslate material-icons mat-icon-no-color ng-star-inserted" aria-hidden="true" data-mat-icon-type="font">open_in_new</mat-icon></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-1 collapsed ng-star-inserted" style="position:relative" href="https://devui.design/" title="“华为云” 开源的企业级组件库,核心设计思想是:致简、沉浸、灵活" target="_blank"><span>华为 DevUI 组件库</span><mat-icon role="img" class="mat-icon notranslate material-icons mat-icon-no-color ng-star-inserted" aria-hidden="true" data-mat-icon-type="font">open_in_new</mat-icon></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-1 collapsed ng-star-inserted" style="position:relative" href="https://ngnest.com/" title="基于 Angular 和 Nest 的 Web 应用程序框架,UI 库中涵盖了企业开发中需要的大部分组件,table、form、tree、message、dialog、menu、tabs 等一共 60+ 基础组件" target="_blank"><span>ng-nest 组件库</span><mat-icon role="img" class="mat-icon notranslate material-icons mat-icon-no-color ng-star-inserted" aria-hidden="true" data-mat-icon-type="font">open_in_new</mat-icon></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-1 collapsed ng-star-inserted" style="position:relative" href="https://ng.mobile.ant.design/" title="Ant Design Mobile 的 Angular 实现,服务于无线产品。" target="_blank"><span>ng-zorro mobile 组件库</span><mat-icon role="img" class="mat-icon notranslate material-icons mat-icon-no-color ng-star-inserted" aria-hidden="true" data-mat-icon-type="font">open_in_new</mat-icon></a></div></aio-nav-item><aio-nav-item class="ng-star-inserted"><div class="ng-star-inserted"><a class="vertical-menu-item level-1 collapsed ng-star-inserted" style="position:relative" href="https://flutter.cn/" title="Flutter 中文文档站" target="_blank"><span>友站:Flutter 中文</span><mat-icon role="img" class="mat-icon notranslate material-icons mat-icon-no-color ng-star-inserted" aria-hidden="true" data-mat-icon-type="font">open_in_new</mat-icon></a></div></aio-nav-item></aio-nav-menu><div class="doc-version ng-tns-c18-1"><aio-select><div class="form-select-menu"><button class="form-select-button"><span><strong></strong></span><span>同步翻译版 (v12.1.0-next.1)</span></button></div></aio-select></div></div></mat-sidenav><div class="cdk-visually-hidden cdk-focus-trap-anchor" aria-hidden="true"></div><mat-sidenav-content cdkscrollable="" class="mat-drawer-content mat-sidenav-content ng-star-inserted" style="margin-left:322px"><main role="main" class="sidenav-content" id="api"><aio-mode-banner></aio-mode-banner><aio-doc-viewer class=""><div style="opacity:1"><div class="content"><div class="center-layout"><h1 class="no-toc" id="api-列表">API 列表<a title="Link to this heading" class="header-link" aria-hidden="true" href="api#api-列表"><i class="material-icons">link</i></a></h1><aio-api-list ng-version="12.0.0-rc.2"><div class="l-flex-wrap api-filter"><aio-select label="类型:"><div class="form-select-menu"><button class="form-select-button"><span><strong>类型:</strong></span><span class="all symbol ng-star-inserted"></span><span>全部</span></button></div></aio-select><aio-select label="状态:"><div class="form-select-menu"><button class="form-select-button"><span><strong>状态:</strong></span><span>全部</span></button></div></aio-select><div class="form-search"><input placeholder="过滤" aria-label="Filter Search"><i class="material-icons">search</i></div></div><article class="api-list-container"><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/animations">animations</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/animations/animate"><span class="function symbol"></span> animate</a></li><li class="api-item ng-star-inserted"><a href="api/animations/animateChild"><span class="function symbol"></span> animateChild</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimateChildOptions"><span class="interface symbol"></span> AnimateChildOptions</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimateTimings"><span class="symbol type-alias"></span> AnimateTimings</a></li><li class="api-item ng-star-inserted"><a href="api/animations/animation"><span class="function symbol"></span> animation</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationAnimateChildMetadata"><span class="interface symbol"></span> AnimationAnimateChildMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationAnimateMetadata"><span class="interface symbol"></span> AnimationAnimateMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationAnimateRefMetadata"><span class="interface symbol"></span> AnimationAnimateRefMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationBuilder"><span class="class symbol"></span> AnimationBuilder</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationEvent"><span class="interface symbol"></span> AnimationEvent</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationFactory"><span class="class symbol"></span> AnimationFactory</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationGroupMetadata"><span class="interface symbol"></span> AnimationGroupMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationKeyframesSequenceMetadata"><span class="interface symbol"></span> AnimationKeyframesSequenceMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationMetadata"><span class="interface symbol"></span> AnimationMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationMetadataType"><span class="enum symbol"></span> AnimationMetadataType</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationOptions"><span class="interface symbol"></span> AnimationOptions</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationPlayer"><span class="interface symbol"></span> AnimationPlayer</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationQueryMetadata"><span class="interface symbol"></span> AnimationQueryMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationQueryOptions"><span class="interface symbol"></span> AnimationQueryOptions</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationReferenceMetadata"><span class="interface symbol"></span> AnimationReferenceMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationSequenceMetadata"><span class="interface symbol"></span> AnimationSequenceMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationStaggerMetadata"><span class="interface symbol"></span> AnimationStaggerMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationStateMetadata"><span class="interface symbol"></span> AnimationStateMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationStyleMetadata"><span class="interface symbol"></span> AnimationStyleMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationTransitionMetadata"><span class="interface symbol"></span> AnimationTransitionMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AnimationTriggerMetadata"><span class="interface symbol"></span> AnimationTriggerMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/animations/AUTO_STYLE"><span class="const symbol"></span> AUTO_STYLE</a></li><li class="api-item ng-star-inserted"><a href="api/animations/group"><span class="function symbol"></span> group</a></li><li class="api-item ng-star-inserted"><a href="api/animations/keyframes"><span class="function symbol"></span> keyframes</a></li><li class="api-item ng-star-inserted"><a href="api/animations/NoopAnimationPlayer"><span class="class symbol"></span> NoopAnimationPlayer</a></li><li class="api-item ng-star-inserted"><a href="api/animations/query"><span class="function symbol"></span> query</a></li><li class="api-item ng-star-inserted"><a href="api/animations/sequence"><span class="function symbol"></span> sequence</a></li><li class="api-item ng-star-inserted"><a href="api/animations/stagger"><span class="function symbol"></span> stagger</a></li><li class="api-item ng-star-inserted"><a href="api/animations/state"><span class="function symbol"></span> state</a></li><li class="api-item ng-star-inserted"><a href="api/animations/style"><span class="function symbol"></span> style</a></li><li class="api-item ng-star-inserted"><a href="api/animations/transition"><span class="function symbol"></span> transition</a></li><li class="api-item ng-star-inserted"><a href="api/animations/trigger"><span class="function symbol"></span> trigger</a></li><li class="api-item ng-star-inserted"><a href="api/animations/useAnimation"><span class="function symbol"></span> useAnimation</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/animations/browser">animations/browser</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/animations/browser/AnimationDriver"><span class="class symbol"></span> AnimationDriver</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/animations/browser/testing">animations/browser/testing</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/animations/browser/testing/MockAnimationDriver"><span class="class symbol"></span> MockAnimationDriver</a></li><li class="api-item ng-star-inserted"><a href="api/animations/browser/testing/MockAnimationPlayer"><span class="class symbol"></span> MockAnimationPlayer</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/common/http">common/http</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/common/http/HTTP_INTERCEPTORS"><span class="const symbol"></span> HTTP_INTERCEPTORS</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpBackend"><span class="class symbol"></span> HttpBackend</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpClient"><span class="class symbol"></span> HttpClient</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpClientJsonpModule"><span class="ngmodule symbol"></span> HttpClientJsonpModule</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpClientModule"><span class="ngmodule symbol"></span> HttpClientModule</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpClientXsrfModule"><span class="ngmodule symbol"></span> HttpClientXsrfModule</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpContext"><span class="class symbol"></span> HttpContext</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpContextToken"><span class="class symbol"></span> HttpContextToken</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpDownloadProgressEvent"><span class="interface symbol"></span> HttpDownloadProgressEvent</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpErrorResponse"><span class="class symbol"></span> HttpErrorResponse</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpEvent"><span class="symbol type-alias"></span> HttpEvent</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpEventType"><span class="enum symbol"></span> HttpEventType</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpHandler"><span class="class symbol"></span> HttpHandler</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpHeaderResponse"><span class="class symbol"></span> HttpHeaderResponse</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpHeaders"><span class="class symbol"></span> HttpHeaders</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpInterceptor"><span class="interface symbol"></span> HttpInterceptor</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpParameterCodec"><span class="interface symbol"></span> HttpParameterCodec</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpParams"><span class="class symbol"></span> HttpParams</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpParamsOptions"><span class="interface symbol"></span> HttpParamsOptions</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpProgressEvent"><span class="interface symbol"></span> HttpProgressEvent</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpRequest"><span class="class symbol"></span> HttpRequest</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpResponse"><span class="class symbol"></span> HttpResponse</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpResponseBase"><span class="class symbol"></span> HttpResponseBase</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpSentEvent"><span class="interface symbol"></span> HttpSentEvent</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpStatusCode"><span class="enum symbol"></span> HttpStatusCode</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpUploadProgressEvent"><span class="interface symbol"></span> HttpUploadProgressEvent</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpUrlEncodingCodec"><span class="class symbol"></span> HttpUrlEncodingCodec</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpUserEvent"><span class="interface symbol"></span> HttpUserEvent</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpXhrBackend"><span class="class symbol"></span> HttpXhrBackend</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/HttpXsrfTokenExtractor"><span class="class symbol"></span> HttpXsrfTokenExtractor</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/JsonpClientBackend"><span class="class symbol"></span> JsonpClientBackend</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/JsonpInterceptor"><span class="class symbol"></span> JsonpInterceptor</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/common/http/XhrFactory"><span class="symbol type-alias"></span> XhrFactory</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/common/http/testing">common/http/testing</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/common/http/testing/HttpClientTestingModule"><span class="ngmodule symbol"></span> HttpClientTestingModule</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/testing/HttpTestingController"><span class="class symbol"></span> HttpTestingController</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/testing/RequestMatch"><span class="interface symbol"></span> RequestMatch</a></li><li class="api-item ng-star-inserted"><a href="api/common/http/testing/TestRequest"><span class="class symbol"></span> TestRequest</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/common">common</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/common/APP_BASE_HREF"><span class="const symbol"></span> APP_BASE_HREF</a></li><li class="api-item ng-star-inserted"><a href="api/common/AsyncPipe"><span class="pipe symbol"></span> AsyncPipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/CommonModule"><span class="ngmodule symbol"></span> CommonModule</a></li><li class="api-item ng-star-inserted"><a href="api/common/CurrencyPipe"><span class="pipe symbol"></span> CurrencyPipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/DatePipe"><span class="pipe symbol"></span> DatePipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/DecimalPipe"><span class="pipe symbol"></span> DecimalPipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/DOCUMENT"><span class="const symbol"></span> DOCUMENT</a></li><li class="api-item ng-star-inserted"><a href="api/common/formatCurrency"><span class="function symbol"></span> formatCurrency</a></li><li class="api-item ng-star-inserted"><a href="api/common/formatDate"><span class="function symbol"></span> formatDate</a></li><li class="api-item ng-star-inserted"><a href="api/common/formatNumber"><span class="function symbol"></span> formatNumber</a></li><li class="api-item ng-star-inserted"><a href="api/common/formatPercent"><span class="function symbol"></span> formatPercent</a></li><li class="api-item ng-star-inserted"><a href="api/common/FormatWidth"><span class="enum symbol"></span> FormatWidth</a></li><li class="api-item ng-star-inserted"><a href="api/common/FormStyle"><span class="enum symbol"></span> FormStyle</a></li><li class="api-item ng-star-inserted"><a href="api/common/getCurrencySymbol"><span class="function symbol"></span> getCurrencySymbol</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleCurrencyCode"><span class="function symbol"></span> getLocaleCurrencyCode</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleCurrencyName"><span class="function symbol"></span> getLocaleCurrencyName</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleCurrencySymbol"><span class="function symbol"></span> getLocaleCurrencySymbol</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleDateFormat"><span class="function symbol"></span> getLocaleDateFormat</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleDateTimeFormat"><span class="function symbol"></span> getLocaleDateTimeFormat</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleDayNames"><span class="function symbol"></span> getLocaleDayNames</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleDayPeriods"><span class="function symbol"></span> getLocaleDayPeriods</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleDirection"><span class="function symbol"></span> getLocaleDirection</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleEraNames"><span class="function symbol"></span> getLocaleEraNames</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleExtraDayPeriodRules"><span class="function symbol"></span> getLocaleExtraDayPeriodRules</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleExtraDayPeriods"><span class="function symbol"></span> getLocaleExtraDayPeriods</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleFirstDayOfWeek"><span class="function symbol"></span> getLocaleFirstDayOfWeek</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleId"><span class="function symbol"></span> getLocaleId</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleMonthNames"><span class="function symbol"></span> getLocaleMonthNames</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleNumberFormat"><span class="function symbol"></span> getLocaleNumberFormat</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleNumberSymbol"><span class="function symbol"></span> getLocaleNumberSymbol</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocalePluralCase"><span class="function symbol"></span> getLocalePluralCase</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleTimeFormat"><span class="function symbol"></span> getLocaleTimeFormat</a></li><li class="api-item ng-star-inserted"><a href="api/common/getLocaleWeekEndRange"><span class="function symbol"></span> getLocaleWeekEndRange</a></li><li class="api-item ng-star-inserted"><a href="api/common/getNumberOfCurrencyDigits"><span class="function symbol"></span> getNumberOfCurrencyDigits</a></li><li class="api-item ng-star-inserted"><a href="api/common/HashLocationStrategy"><span class="class symbol"></span> HashLocationStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/common/I18nPluralPipe"><span class="pipe symbol"></span> I18nPluralPipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/I18nSelectPipe"><span class="pipe symbol"></span> I18nSelectPipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/isPlatformBrowser"><span class="function symbol"></span> isPlatformBrowser</a></li><li class="api-item ng-star-inserted"><a href="api/common/isPlatformServer"><span class="function symbol"></span> isPlatformServer</a></li><li class="api-item ng-star-inserted"><a href="api/common/isPlatformWorkerApp"><span class="function symbol"></span> isPlatformWorkerApp</a></li><li class="api-item ng-star-inserted"><a href="api/common/isPlatformWorkerUi"><span class="function symbol"></span> isPlatformWorkerUi</a></li><li class="api-item ng-star-inserted"><a href="api/common/JsonPipe"><span class="pipe symbol"></span> JsonPipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/KeyValue"><span class="interface symbol"></span> KeyValue</a></li><li class="api-item ng-star-inserted"><a href="api/common/KeyValuePipe"><span class="pipe symbol"></span> KeyValuePipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/Location"><span class="class symbol"></span> Location</a></li><li class="api-item ng-star-inserted"><a href="api/common/LOCATION_INITIALIZED"><span class="const symbol"></span> LOCATION_INITIALIZED</a></li><li class="api-item ng-star-inserted"><a href="api/common/LocationChangeEvent"><span class="interface symbol"></span> LocationChangeEvent</a></li><li class="api-item ng-star-inserted"><a href="api/common/LocationChangeListener"><span class="interface symbol"></span> LocationChangeListener</a></li><li class="api-item ng-star-inserted"><a href="api/common/LocationStrategy"><span class="class symbol"></span> LocationStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/common/LowerCasePipe"><span class="pipe symbol"></span> LowerCasePipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgClass"><span class="directive symbol"></span> NgClass</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgComponentOutlet"><span class="directive symbol"></span> NgComponentOutlet</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgForOf"><span class="directive symbol"></span> NgForOf</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgForOfContext"><span class="class symbol"></span> NgForOfContext</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgIf"><span class="directive symbol"></span> NgIf</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgIfContext"><span class="class symbol"></span> NgIfContext</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgLocaleLocalization"><span class="class symbol"></span> NgLocaleLocalization</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgLocalization"><span class="class symbol"></span> NgLocalization</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgPlural"><span class="directive symbol"></span> NgPlural</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgPluralCase"><span class="directive symbol"></span> NgPluralCase</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgStyle"><span class="directive symbol"></span> NgStyle</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgSwitch"><span class="directive symbol"></span> NgSwitch</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgSwitchCase"><span class="directive symbol"></span> NgSwitchCase</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgSwitchDefault"><span class="directive symbol"></span> NgSwitchDefault</a></li><li class="api-item ng-star-inserted"><a href="api/common/NgTemplateOutlet"><span class="directive symbol"></span> NgTemplateOutlet</a></li><li class="api-item ng-star-inserted"><a href="api/common/NumberFormatStyle"><span class="enum symbol"></span> NumberFormatStyle</a></li><li class="api-item ng-star-inserted"><a href="api/common/NumberSymbol"><span class="enum symbol"></span> NumberSymbol</a></li><li class="api-item ng-star-inserted"><a href="api/common/PathLocationStrategy"><span class="class symbol"></span> PathLocationStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/common/PercentPipe"><span class="pipe symbol"></span> PercentPipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/PlatformLocation"><span class="class symbol"></span> PlatformLocation</a></li><li class="api-item ng-star-inserted"><a href="api/common/Plural"><span class="enum symbol"></span> Plural</a></li><li class="api-item ng-star-inserted"><a href="api/common/PopStateEvent"><span class="interface symbol"></span> PopStateEvent</a></li><li class="api-item ng-star-inserted"><a href="api/common/registerLocaleData"><span class="function symbol"></span> registerLocaleData</a></li><li class="api-item ng-star-inserted"><a href="api/common/SlicePipe"><span class="pipe symbol"></span> SlicePipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/Time"><span class="symbol type-alias"></span> Time</a></li><li class="api-item ng-star-inserted"><a href="api/common/TitleCasePipe"><span class="pipe symbol"></span> TitleCasePipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/TranslationWidth"><span class="enum symbol"></span> TranslationWidth</a></li><li class="api-item ng-star-inserted"><a href="api/common/UpperCasePipe"><span class="pipe symbol"></span> UpperCasePipe</a></li><li class="api-item ng-star-inserted"><a href="api/common/ViewportScroller"><span class="class symbol"></span> ViewportScroller</a></li><li class="api-item ng-star-inserted"><a href="api/common/WeekDay"><span class="enum symbol"></span> WeekDay</a></li><li class="api-item ng-star-inserted"><a href="api/common/XhrFactory"><span class="class symbol"></span> XhrFactory</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/common/testing">common/testing</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/common/testing/MOCK_PLATFORM_LOCATION_CONFIG"><span class="const symbol"></span> MOCK_PLATFORM_LOCATION_CONFIG</a></li><li class="api-item ng-star-inserted"><a href="api/common/testing/MockLocationStrategy"><span class="class symbol"></span> MockLocationStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/common/testing/MockPlatformLocation"><span class="class symbol"></span> MockPlatformLocation</a></li><li class="api-item ng-star-inserted"><a href="api/common/testing/MockPlatformLocationConfig"><span class="interface symbol"></span> MockPlatformLocationConfig</a></li><li class="api-item ng-star-inserted"><a href="api/common/testing/SpyLocation"><span class="class symbol"></span> SpyLocation</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/common/upgrade">common/upgrade</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/common/upgrade/$locationShim"><span class="class symbol"></span> $locationShim</a></li><li class="api-item ng-star-inserted"><a href="api/common/upgrade/$locationShimProvider"><span class="class symbol"></span> $locationShimProvider</a></li><li class="api-item ng-star-inserted"><a href="api/common/upgrade/AngularJSUrlCodec"><span class="class symbol"></span> AngularJSUrlCodec</a></li><li class="api-item ng-star-inserted"><a href="api/common/upgrade/LOCATION_UPGRADE_CONFIGURATION"><span class="const symbol"></span> LOCATION_UPGRADE_CONFIGURATION</a></li><li class="api-item ng-star-inserted"><a href="api/common/upgrade/LocationUpgradeConfig"><span class="interface symbol"></span> LocationUpgradeConfig</a></li><li class="api-item ng-star-inserted"><a href="api/common/upgrade/LocationUpgradeModule"><span class="ngmodule symbol"></span> LocationUpgradeModule</a></li><li class="api-item ng-star-inserted"><a href="api/common/upgrade/UrlCodec"><span class="class symbol"></span> UrlCodec</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/core">core</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/core/AbstractType"><span class="interface symbol"></span> AbstractType</a></li><li class="api-item ng-star-inserted"><a href="api/core/AfterContentChecked"><span class="interface symbol"></span> AfterContentChecked</a></li><li class="api-item ng-star-inserted"><a href="api/core/AfterContentInit"><span class="interface symbol"></span> AfterContentInit</a></li><li class="api-item ng-star-inserted"><a href="api/core/AfterViewChecked"><span class="interface symbol"></span> AfterViewChecked</a></li><li class="api-item ng-star-inserted"><a href="api/core/AfterViewInit"><span class="interface symbol"></span> AfterViewInit</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/ANALYZE_FOR_ENTRY_COMPONENTS"><span class="const symbol"></span> ANALYZE_FOR_ENTRY_COMPONENTS</a></li><li class="api-item ng-star-inserted"><a href="api/core/APP_BOOTSTRAP_LISTENER"><span class="const symbol"></span> APP_BOOTSTRAP_LISTENER</a></li><li class="api-item ng-star-inserted"><a href="api/core/APP_ID"><span class="const symbol"></span> APP_ID</a></li><li class="api-item ng-star-inserted"><a href="api/core/APP_INITIALIZER"><span class="const symbol"></span> APP_INITIALIZER</a></li><li class="api-item ng-star-inserted"><a href="api/core/ApplicationInitStatus"><span class="class symbol"></span> ApplicationInitStatus</a></li><li class="api-item ng-star-inserted"><a href="api/core/ApplicationModule"><span class="ngmodule symbol"></span> ApplicationModule</a></li><li class="api-item ng-star-inserted"><a href="api/core/ApplicationRef"><span class="class symbol"></span> ApplicationRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/asNativeElements"><span class="function symbol"></span> asNativeElements</a></li><li class="api-item ng-star-inserted"><a href="api/core/assertPlatform"><span class="function symbol"></span> assertPlatform</a></li><li class="api-item ng-star-inserted"><a href="api/core/Attribute"><span class="class symbol"></span> Attribute</a></li><li class="api-item ng-star-inserted"><a href="api/core/AttributeDecorator"><span class="interface symbol"></span> AttributeDecorator</a></li><li class="api-item ng-star-inserted"><a href="api/core/ChangeDetectionStrategy"><span class="enum symbol"></span> ChangeDetectionStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/core/ChangeDetectorRef"><span class="class symbol"></span> ChangeDetectorRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/ClassProvider"><span class="interface symbol"></span> ClassProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/ClassSansProvider"><span class="interface symbol"></span> ClassSansProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/Compiler"><span class="class symbol"></span> Compiler</a></li><li class="api-item ng-star-inserted"><a href="api/core/COMPILER_OPTIONS"><span class="const symbol"></span> COMPILER_OPTIONS</a></li><li class="api-item ng-star-inserted"><a href="api/core/CompilerFactory"><span class="class symbol"></span> CompilerFactory</a></li><li class="api-item ng-star-inserted"><a href="api/core/CompilerOptions"><span class="symbol type-alias"></span> CompilerOptions</a></li><li class="api-item ng-star-inserted"><a href="api/core/Component"><span class="decorator symbol"></span> Component</a></li><li class="api-item ng-star-inserted"><a href="api/core/ComponentFactory"><span class="class symbol"></span> ComponentFactory</a></li><li class="api-item ng-star-inserted"><a href="api/core/ComponentFactoryResolver"><span class="class symbol"></span> ComponentFactoryResolver</a></li><li class="api-item ng-star-inserted"><a href="api/core/ComponentRef"><span class="class symbol"></span> ComponentRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/ConstructorProvider"><span class="interface symbol"></span> ConstructorProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/ConstructorSansProvider"><span class="interface symbol"></span> ConstructorSansProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/ContentChild"><span class="decorator symbol"></span> ContentChild</a></li><li class="api-item ng-star-inserted"><a href="api/core/ContentChildren"><span class="decorator symbol"></span> ContentChildren</a></li><li class="api-item ng-star-inserted"><a href="api/core/createPlatform"><span class="function symbol"></span> createPlatform</a></li><li class="api-item ng-star-inserted"><a href="api/core/createPlatformFactory"><span class="function symbol"></span> createPlatformFactory</a></li><li class="api-item ng-star-inserted"><a href="api/core/CUSTOM_ELEMENTS_SCHEMA"><span class="const symbol"></span> CUSTOM_ELEMENTS_SCHEMA</a></li><li class="api-item ng-star-inserted"><a href="api/core/DebugElement"><span class="class symbol"></span> DebugElement</a></li><li class="api-item ng-star-inserted"><a href="api/core/DebugEventListener"><span class="class symbol"></span> DebugEventListener</a></li><li class="api-item ng-star-inserted"><a href="api/core/DebugNode"><span class="class symbol"></span> DebugNode</a></li><li class="api-item ng-star-inserted"><a href="api/core/DEFAULT_CURRENCY_CODE"><span class="const symbol"></span> DEFAULT_CURRENCY_CODE</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/DefaultIterableDiffer"><span class="class symbol"></span> DefaultIterableDiffer</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/defineInjectable"><span class="const symbol"></span> defineInjectable</a></li><li class="api-item ng-star-inserted"><a href="api/core/destroyPlatform"><span class="function symbol"></span> destroyPlatform</a></li><li class="api-item ng-star-inserted"><a href="api/core/Directive"><span class="decorator symbol"></span> Directive</a></li><li class="api-item ng-star-inserted"><a href="api/core/DoBootstrap"><span class="interface symbol"></span> DoBootstrap</a></li><li class="api-item ng-star-inserted"><a href="api/core/DoCheck"><span class="interface symbol"></span> DoCheck</a></li><li class="api-item ng-star-inserted"><a href="api/core/ElementRef"><span class="class symbol"></span> ElementRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/EmbeddedViewRef"><span class="class symbol"></span> EmbeddedViewRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/enableProdMode"><span class="function symbol"></span> enableProdMode</a></li><li class="api-item ng-star-inserted"><a href="api/core/ErrorHandler"><span class="class symbol"></span> ErrorHandler</a></li><li class="api-item ng-star-inserted"><a href="api/core/EventEmitter"><span class="class symbol"></span> EventEmitter</a></li><li class="api-item ng-star-inserted"><a href="api/core/ExistingProvider"><span class="interface symbol"></span> ExistingProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/ExistingSansProvider"><span class="interface symbol"></span> ExistingSansProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/FactoryProvider"><span class="interface symbol"></span> FactoryProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/FactorySansProvider"><span class="interface symbol"></span> FactorySansProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/forwardRef"><span class="function symbol"></span> forwardRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/ForwardRefFn"><span class="interface symbol"></span> ForwardRefFn</a></li><li class="api-item ng-star-inserted"><a href="api/core/getDebugNode"><span class="const symbol"></span> getDebugNode</a></li><li class="api-item ng-star-inserted"><a href="api/core/getModuleFactory"><span class="const symbol"></span> getModuleFactory</a></li><li class="api-item ng-star-inserted"><a href="api/core/getPlatform"><span class="function symbol"></span> getPlatform</a></li><li class="api-item ng-star-inserted"><a href="api/core/GetTestability"><span class="interface symbol"></span> GetTestability</a></li><li class="api-item ng-star-inserted"><a href="api/core/Host"><span class="decorator symbol"></span> Host</a></li><li class="api-item ng-star-inserted"><a href="api/core/HostBinding"><span class="decorator symbol"></span> HostBinding</a></li><li class="api-item ng-star-inserted"><a href="api/core/HostListener"><span class="decorator symbol"></span> HostListener</a></li><li class="api-item ng-star-inserted"><a href="api/core/inject-0"><span class="const symbol"></span> inject</a></li><li class="api-item ng-star-inserted"><a href="api/core/Inject-1"><span class="decorator symbol"></span> Inject</a></li><li class="api-item ng-star-inserted"><a href="api/core/Injectable"><span class="decorator symbol"></span> Injectable</a></li><li class="api-item ng-star-inserted"><a href="api/core/InjectableProvider"><span class="symbol type-alias"></span> InjectableProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/InjectableType"><span class="interface symbol"></span> InjectableType</a></li><li class="api-item ng-star-inserted"><a href="api/core/InjectFlags"><span class="enum symbol"></span> InjectFlags</a></li><li class="api-item ng-star-inserted"><a href="api/core/InjectionToken"><span class="class symbol"></span> InjectionToken</a></li><li class="api-item ng-star-inserted"><a href="api/core/Injector-0"><span class="class symbol"></span> Injector</a></li><li class="api-item ng-star-inserted"><a href="api/core/INJECTOR-1"><span class="const symbol"></span> INJECTOR</a></li><li class="api-item ng-star-inserted"><a href="api/core/InjectorType"><span class="interface symbol"></span> InjectorType</a></li><li class="api-item ng-star-inserted"><a href="api/core/Input"><span class="decorator symbol"></span> Input</a></li><li class="api-item ng-star-inserted"><a href="api/core/isDevMode"><span class="function symbol"></span> isDevMode</a></li><li class="api-item ng-star-inserted"><a href="api/core/IterableChangeRecord"><span class="interface symbol"></span> IterableChangeRecord</a></li><li class="api-item ng-star-inserted"><a href="api/core/IterableChanges"><span class="interface symbol"></span> IterableChanges</a></li><li class="api-item ng-star-inserted"><a href="api/core/IterableDiffer"><span class="interface symbol"></span> IterableDiffer</a></li><li class="api-item ng-star-inserted"><a href="api/core/IterableDifferFactory"><span class="interface symbol"></span> IterableDifferFactory</a></li><li class="api-item ng-star-inserted"><a href="api/core/IterableDiffers"><span class="class symbol"></span> IterableDiffers</a></li><li class="api-item ng-star-inserted"><a href="api/core/KeyValueChangeRecord"><span class="interface symbol"></span> KeyValueChangeRecord</a></li><li class="api-item ng-star-inserted"><a href="api/core/KeyValueChanges"><span class="interface symbol"></span> KeyValueChanges</a></li><li class="api-item ng-star-inserted"><a href="api/core/KeyValueDiffer"><span class="interface symbol"></span> KeyValueDiffer</a></li><li class="api-item ng-star-inserted"><a href="api/core/KeyValueDifferFactory"><span class="interface symbol"></span> KeyValueDifferFactory</a></li><li class="api-item ng-star-inserted"><a href="api/core/KeyValueDiffers"><span class="class symbol"></span> KeyValueDiffers</a></li><li class="api-item ng-star-inserted"><a href="api/core/LOCALE_ID"><span class="const symbol"></span> LOCALE_ID</a></li><li class="api-item ng-star-inserted"><a href="api/core/MissingTranslationStrategy"><span class="enum symbol"></span> MissingTranslationStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/core/ModuleWithComponentFactories"><span class="class symbol"></span> ModuleWithComponentFactories</a></li><li class="api-item ng-star-inserted"><a href="api/core/ModuleWithProviders"><span class="interface symbol"></span> ModuleWithProviders</a></li><li class="api-item ng-star-inserted"><a href="api/core/NgIterable"><span class="symbol type-alias"></span> NgIterable</a></li><li class="api-item ng-star-inserted"><a href="api/core/NgModule"><span class="decorator symbol"></span> NgModule</a></li><li class="api-item ng-star-inserted"><a href="api/core/NgModuleFactory"><span class="class symbol"></span> NgModuleFactory</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/NgModuleFactoryLoader"><span class="class symbol"></span> NgModuleFactoryLoader</a></li><li class="api-item ng-star-inserted"><a href="api/core/NgModuleRef"><span class="class symbol"></span> NgModuleRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/NgProbeToken"><span class="class symbol"></span> NgProbeToken</a></li><li class="api-item ng-star-inserted"><a href="api/core/NgZone"><span class="class symbol"></span> NgZone</a></li><li class="api-item ng-star-inserted"><a href="api/core/NO_ERRORS_SCHEMA"><span class="const symbol"></span> NO_ERRORS_SCHEMA</a></li><li class="api-item ng-star-inserted"><a href="api/core/OnChanges"><span class="interface symbol"></span> OnChanges</a></li><li class="api-item ng-star-inserted"><a href="api/core/OnDestroy"><span class="interface symbol"></span> OnDestroy</a></li><li class="api-item ng-star-inserted"><a href="api/core/OnInit"><span class="interface symbol"></span> OnInit</a></li><li class="api-item ng-star-inserted"><a href="api/core/Optional"><span class="decorator symbol"></span> Optional</a></li><li class="api-item ng-star-inserted"><a href="api/core/Output"><span class="decorator symbol"></span> Output</a></li><li class="api-item ng-star-inserted"><a href="api/core/PACKAGE_ROOT_URL"><span class="const symbol"></span> PACKAGE_ROOT_URL</a></li><li class="api-item ng-star-inserted"><a href="api/core/Pipe"><span class="decorator symbol"></span> Pipe</a></li><li class="api-item ng-star-inserted"><a href="api/core/PipeTransform"><span class="interface symbol"></span> PipeTransform</a></li><li class="api-item ng-star-inserted"><a href="api/core/PLATFORM_ID"><span class="const symbol"></span> PLATFORM_ID</a></li><li class="api-item ng-star-inserted"><a href="api/core/PLATFORM_INITIALIZER"><span class="const symbol"></span> PLATFORM_INITIALIZER</a></li><li class="api-item ng-star-inserted"><a href="api/core/platformCore"><span class="const symbol"></span> platformCore</a></li><li class="api-item ng-star-inserted"><a href="api/core/PlatformRef"><span class="class symbol"></span> PlatformRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/Predicate"><span class="interface symbol"></span> Predicate</a></li><li class="api-item ng-star-inserted"><a href="api/core/Provider"><span class="symbol type-alias"></span> Provider</a></li><li class="api-item ng-star-inserted"><a href="api/core/ProviderToken"><span class="symbol type-alias"></span> ProviderToken</a></li><li class="api-item ng-star-inserted"><a href="api/core/Query"><span class="class symbol"></span> Query</a></li><li class="api-item ng-star-inserted"><a href="api/core/QueryList"><span class="class symbol"></span> QueryList</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/ReflectiveInjector"><span class="class symbol"></span> ReflectiveInjector</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/ReflectiveKey"><span class="class symbol"></span> ReflectiveKey</a></li><li class="api-item ng-star-inserted"><a href="api/core/Renderer2"><span class="class symbol"></span> Renderer2</a></li><li class="api-item ng-star-inserted"><a href="api/core/RendererFactory2"><span class="class symbol"></span> RendererFactory2</a></li><li class="api-item ng-star-inserted"><a href="api/core/RendererStyleFlags2"><span class="enum symbol"></span> RendererStyleFlags2</a></li><li class="api-item ng-star-inserted"><a href="api/core/RendererType2"><span class="interface symbol"></span> RendererType2</a></li><li class="api-item ng-star-inserted"><a href="api/core/ResolvedReflectiveFactory"><span class="class symbol"></span> ResolvedReflectiveFactory</a></li><li class="api-item ng-star-inserted"><a href="api/core/ResolvedReflectiveProvider"><span class="interface symbol"></span> ResolvedReflectiveProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/resolveForwardRef"><span class="function symbol"></span> resolveForwardRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/Sanitizer"><span class="class symbol"></span> Sanitizer</a></li><li class="api-item ng-star-inserted"><a href="api/core/SchemaMetadata"><span class="interface symbol"></span> SchemaMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/core/SecurityContext"><span class="enum symbol"></span> SecurityContext</a></li><li class="api-item ng-star-inserted"><a href="api/core/Self"><span class="decorator symbol"></span> Self</a></li><li class="api-item ng-star-inserted"><a href="api/core/setTestabilityGetter"><span class="function symbol"></span> setTestabilityGetter</a></li><li class="api-item ng-star-inserted"><a href="api/core/SimpleChange"><span class="class symbol"></span> SimpleChange</a></li><li class="api-item ng-star-inserted"><a href="api/core/SimpleChanges"><span class="interface symbol"></span> SimpleChanges</a></li><li class="api-item ng-star-inserted"><a href="api/core/SkipSelf"><span class="decorator symbol"></span> SkipSelf</a></li><li class="api-item ng-star-inserted"><a href="api/core/StaticClassProvider"><span class="interface symbol"></span> StaticClassProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/StaticClassSansProvider"><span class="interface symbol"></span> StaticClassSansProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/StaticProvider"><span class="symbol type-alias"></span> StaticProvider</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/SystemJsNgModuleLoader"><span class="class symbol"></span> SystemJsNgModuleLoader</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/SystemJsNgModuleLoaderConfig"><span class="class symbol"></span> SystemJsNgModuleLoaderConfig</a></li><li class="api-item ng-star-inserted"><a href="api/core/TemplateRef"><span class="class symbol"></span> TemplateRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/Testability"><span class="class symbol"></span> Testability</a></li><li class="api-item ng-star-inserted"><a href="api/core/TestabilityRegistry"><span class="class symbol"></span> TestabilityRegistry</a></li><li class="api-item ng-star-inserted"><a href="api/core/TrackByFunction"><span class="interface symbol"></span> TrackByFunction</a></li><li class="api-item ng-star-inserted"><a href="api/core/TRANSLATIONS"><span class="const symbol"></span> TRANSLATIONS</a></li><li class="api-item ng-star-inserted"><a href="api/core/TRANSLATIONS_FORMAT"><span class="const symbol"></span> TRANSLATIONS_FORMAT</a></li><li class="api-item ng-star-inserted"><a href="api/core/Type"><span class="class symbol"></span> Type</a></li><li class="api-item ng-star-inserted"><a href="api/core/TypeDecorator"><span class="interface symbol"></span> TypeDecorator</a></li><li class="api-item ng-star-inserted"><a href="api/core/TypeProvider"><span class="interface symbol"></span> TypeProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/ValueProvider"><span class="interface symbol"></span> ValueProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/ValueSansProvider"><span class="interface symbol"></span> ValueSansProvider</a></li><li class="api-item ng-star-inserted"><a href="api/core/Version"><span class="class symbol"></span> Version</a></li><li class="api-item ng-star-inserted"><a href="api/core/ViewChild"><span class="decorator symbol"></span> ViewChild</a></li><li class="api-item ng-star-inserted"><a href="api/core/ViewChildren"><span class="decorator symbol"></span> ViewChildren</a></li><li class="api-item ng-star-inserted"><a href="api/core/ViewContainerRef"><span class="class symbol"></span> ViewContainerRef</a></li><li class="api-item ng-star-inserted"><a href="api/core/ViewEncapsulation"><span class="enum symbol"></span> ViewEncapsulation</a></li><li class="api-item ng-star-inserted"><a href="api/core/ViewRef"><span class="class symbol"></span> ViewRef</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/WrappedValue"><span class="class symbol"></span> WrappedValue</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/core/global">core/global</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/core/global/ComponentDebugMetadata"><span class="interface symbol"></span> ComponentDebugMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/DirectiveDebugMetadata"><span class="interface symbol"></span> DirectiveDebugMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/Listener"><span class="interface symbol"></span> Listener</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngApplyChanges"><span class="function symbol"></span> ng.applyChanges</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngGetComponent"><span class="function symbol"></span> ng.getComponent</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngGetContext"><span class="function symbol"></span> ng.getContext</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngGetDirectiveMetadata"><span class="function symbol"></span> ng.getDirectiveMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngGetDirectives"><span class="function symbol"></span> ng.getDirectives</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngGetHostElement"><span class="function symbol"></span> ng.getHostElement</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngGetInjector"><span class="function symbol"></span> ng.getInjector</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngGetListeners"><span class="function symbol"></span> ng.getListeners</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngGetOwningComponent"><span class="function symbol"></span> ng.getOwningComponent</a></li><li class="api-item ng-star-inserted"><a href="api/core/global/ngGetRootComponents"><span class="function symbol"></span> ng.getRootComponents</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/core/testing">core/testing</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/core/testing/async"><span class="function symbol"></span> async</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/ComponentFixture"><span class="class symbol"></span> ComponentFixture</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/ComponentFixtureAutoDetect"><span class="const symbol"></span> ComponentFixtureAutoDetect</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/ComponentFixtureNoNgZone"><span class="const symbol"></span> ComponentFixtureNoNgZone</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/discardPeriodicTasks"><span class="function symbol"></span> discardPeriodicTasks</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/fakeAsync"><span class="function symbol"></span> fakeAsync</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/flush"><span class="function symbol"></span> flush</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/flushMicrotasks"><span class="function symbol"></span> flushMicrotasks</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/getTestBed"><span class="const symbol"></span> getTestBed</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/inject"><span class="function symbol"></span> inject</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/InjectSetupWrapper"><span class="class symbol"></span> InjectSetupWrapper</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/MetadataOverride"><span class="symbol type-alias"></span> MetadataOverride</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/resetFakeAsyncZone"><span class="function symbol"></span> resetFakeAsyncZone</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/TestBed"><span class="class symbol"></span> TestBed</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/TestBedStatic"><span class="interface symbol"></span> TestBedStatic</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/TestComponentRenderer"><span class="class symbol"></span> TestComponentRenderer</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/TestModuleMetadata"><span class="symbol type-alias"></span> TestModuleMetadata</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/tick"><span class="function symbol"></span> tick</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/waitForAsync"><span class="function symbol"></span> waitForAsync</a></li><li class="api-item ng-star-inserted"><a href="api/core/testing/withModule"><span class="function symbol"></span> withModule</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/elements">elements</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/elements/createCustomElement"><span class="function symbol"></span> createCustomElement</a></li><li class="api-item ng-star-inserted"><a href="api/elements/NgElement"><span class="class symbol"></span> NgElement</a></li><li class="api-item ng-star-inserted"><a href="api/elements/NgElementConfig"><span class="interface symbol"></span> NgElementConfig</a></li><li class="api-item ng-star-inserted"><a href="api/elements/NgElementConstructor"><span class="interface symbol"></span> NgElementConstructor</a></li><li class="api-item ng-star-inserted"><a href="api/elements/NgElementStrategy"><span class="interface symbol"></span> NgElementStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/elements/NgElementStrategyEvent"><span class="interface symbol"></span> NgElementStrategyEvent</a></li><li class="api-item ng-star-inserted"><a href="api/elements/NgElementStrategyFactory"><span class="interface symbol"></span> NgElementStrategyFactory</a></li><li class="api-item ng-star-inserted"><a href="api/elements/WithProperties"><span class="symbol type-alias"></span> WithProperties</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/forms">forms</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/forms/AbstractControl"><span class="class symbol"></span> AbstractControl</a></li><li class="api-item ng-star-inserted"><a href="api/forms/AbstractControlDirective"><span class="class symbol"></span> AbstractControlDirective</a></li><li class="api-item ng-star-inserted"><a href="api/forms/AbstractControlOptions"><span class="interface symbol"></span> AbstractControlOptions</a></li><li class="api-item ng-star-inserted"><a href="api/forms/AbstractFormGroupDirective"><span class="directive symbol"></span> AbstractFormGroupDirective</a></li><li class="api-item ng-star-inserted"><a href="api/forms/AsyncValidator"><span class="interface symbol"></span> AsyncValidator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/AsyncValidatorFn"><span class="interface symbol"></span> AsyncValidatorFn</a></li><li class="api-item ng-star-inserted"><a href="api/forms/CheckboxControlValueAccessor"><span class="directive symbol"></span> CheckboxControlValueAccessor</a></li><li class="api-item ng-star-inserted"><a href="api/forms/CheckboxRequiredValidator"><span class="directive symbol"></span> CheckboxRequiredValidator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/COMPOSITION_BUFFER_MODE"><span class="const symbol"></span> COMPOSITION_BUFFER_MODE</a></li><li class="api-item ng-star-inserted"><a href="api/forms/ControlContainer"><span class="class symbol"></span> ControlContainer</a></li><li class="api-item ng-star-inserted"><a href="api/forms/ControlValueAccessor"><span class="interface symbol"></span> ControlValueAccessor</a></li><li class="api-item ng-star-inserted"><a href="api/forms/DefaultValueAccessor"><span class="directive symbol"></span> DefaultValueAccessor</a></li><li class="api-item ng-star-inserted"><a href="api/forms/EmailValidator"><span class="directive symbol"></span> EmailValidator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/Form"><span class="interface symbol"></span> Form</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormArray"><span class="class symbol"></span> FormArray</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormArrayName"><span class="directive symbol"></span> FormArrayName</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormBuilder"><span class="class symbol"></span> FormBuilder</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormControl"><span class="class symbol"></span> FormControl</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormControlDirective"><span class="directive symbol"></span> FormControlDirective</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormControlName"><span class="directive symbol"></span> FormControlName</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormGroup"><span class="class symbol"></span> FormGroup</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormGroupDirective"><span class="directive symbol"></span> FormGroupDirective</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormGroupName"><span class="directive symbol"></span> FormGroupName</a></li><li class="api-item ng-star-inserted"><a href="api/forms/FormsModule"><span class="ngmodule symbol"></span> FormsModule</a></li><li class="api-item ng-star-inserted"><a href="api/forms/MaxLengthValidator"><span class="directive symbol"></span> MaxLengthValidator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/MaxValidator"><span class="directive symbol"></span> MaxValidator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/MinLengthValidator"><span class="directive symbol"></span> MinLengthValidator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/MinValidator"><span class="directive symbol"></span> MinValidator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NG_ASYNC_VALIDATORS"><span class="const symbol"></span> NG_ASYNC_VALIDATORS</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NG_VALIDATORS"><span class="const symbol"></span> NG_VALIDATORS</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NG_VALUE_ACCESSOR"><span class="const symbol"></span> NG_VALUE_ACCESSOR</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NgControl"><span class="class symbol"></span> NgControl</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NgControlStatus"><span class="directive symbol"></span> NgControlStatus</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NgControlStatusGroup"><span class="directive symbol"></span> NgControlStatusGroup</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NgForm"><span class="directive symbol"></span> NgForm</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NgModel"><span class="directive symbol"></span> NgModel</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NgModelGroup"><span class="directive symbol"></span> NgModelGroup</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NgSelectOption"><span class="directive symbol"></span> NgSelectOption</a></li><li class="api-item ng-star-inserted"><a href="api/forms/NumberValueAccessor"><span class="directive symbol"></span> NumberValueAccessor</a></li><li class="api-item ng-star-inserted"><a href="api/forms/PatternValidator"><span class="directive symbol"></span> PatternValidator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/RadioControlValueAccessor"><span class="directive symbol"></span> RadioControlValueAccessor</a></li><li class="api-item ng-star-inserted"><a href="api/forms/RangeValueAccessor"><span class="directive symbol"></span> RangeValueAccessor</a></li><li class="api-item ng-star-inserted"><a href="api/forms/ReactiveFormsModule"><span class="ngmodule symbol"></span> ReactiveFormsModule</a></li><li class="api-item ng-star-inserted"><a href="api/forms/RequiredValidator"><span class="directive symbol"></span> RequiredValidator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/SelectControlValueAccessor"><span class="directive symbol"></span> SelectControlValueAccessor</a></li><li class="api-item ng-star-inserted"><a href="api/forms/SelectMultipleControlValueAccessor"><span class="directive symbol"></span> SelectMultipleControlValueAccessor</a></li><li class="api-item ng-star-inserted"><a href="api/forms/ValidationErrors"><span class="symbol type-alias"></span> ValidationErrors</a></li><li class="api-item ng-star-inserted"><a href="api/forms/Validator"><span class="interface symbol"></span> Validator</a></li><li class="api-item ng-star-inserted"><a href="api/forms/ValidatorFn"><span class="interface symbol"></span> ValidatorFn</a></li><li class="api-item ng-star-inserted"><a href="api/forms/Validators"><span class="class symbol"></span> Validators</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/localize">localize</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/localize/clearTranslations"><span class="function symbol"></span> clearTranslations</a></li><li class="api-item ng-star-inserted"><a href="api/localize/loadTranslations"><span class="function symbol"></span> loadTranslations</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/localize/init">localize/init</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/localize/init/$localize"><span class="const symbol"></span> $localize</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/platform-browser">platform-browser</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/platform-browser/BrowserModule"><span class="ngmodule symbol"></span> BrowserModule</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/BrowserTransferStateModule"><span class="ngmodule symbol"></span> BrowserTransferStateModule</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/By"><span class="class symbol"></span> By</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/disableDebugTools"><span class="function symbol"></span> disableDebugTools</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/DomSanitizer"><span class="class symbol"></span> DomSanitizer</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/enableDebugTools"><span class="function symbol"></span> enableDebugTools</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/EVENT_MANAGER_PLUGINS"><span class="const symbol"></span> EVENT_MANAGER_PLUGINS</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/EventManager"><span class="class symbol"></span> EventManager</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/HAMMER_GESTURE_CONFIG"><span class="const symbol"></span> HAMMER_GESTURE_CONFIG</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/HAMMER_LOADER"><span class="const symbol"></span> HAMMER_LOADER</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/HammerGestureConfig"><span class="class symbol"></span> HammerGestureConfig</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/HammerLoader"><span class="symbol type-alias"></span> HammerLoader</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/HammerModule"><span class="ngmodule symbol"></span> HammerModule</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/makeStateKey"><span class="function symbol"></span> makeStateKey</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/Meta"><span class="class symbol"></span> Meta</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/MetaDefinition"><span class="symbol type-alias"></span> MetaDefinition</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/platformBrowser"><span class="const symbol"></span> platformBrowser</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/SafeHtml"><span class="interface symbol"></span> SafeHtml</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/SafeResourceUrl"><span class="interface symbol"></span> SafeResourceUrl</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/SafeScript"><span class="interface symbol"></span> SafeScript</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/SafeStyle"><span class="interface symbol"></span> SafeStyle</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/SafeUrl"><span class="interface symbol"></span> SafeUrl</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/SafeValue"><span class="interface symbol"></span> SafeValue</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/StateKey"><span class="symbol type-alias"></span> StateKey</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/Title"><span class="class symbol"></span> Title</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/TransferState"><span class="class symbol"></span> TransferState</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/platform-browser/animations">platform-browser/animations</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/platform-browser/animations/ANIMATION_MODULE_TYPE"><span class="const symbol"></span> ANIMATION_MODULE_TYPE</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/animations/BrowserAnimationsModule"><span class="ngmodule symbol"></span> BrowserAnimationsModule</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/animations/BrowserAnimationsModuleConfig"><span class="interface symbol"></span> BrowserAnimationsModuleConfig</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/animations/NoopAnimationsModule"><span class="ngmodule symbol"></span> NoopAnimationsModule</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/platform-browser/testing">platform-browser/testing</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/platform-browser/testing/BrowserTestingModule"><span class="ngmodule symbol"></span> BrowserTestingModule</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser/testing/platformBrowserTesting"><span class="const symbol"></span> platformBrowserTesting</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/platform-browser-dynamic">platform-browser-dynamic</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/platform-browser-dynamic/JitCompilerFactory"><span class="class symbol"></span> JitCompilerFactory</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser-dynamic/platformBrowserDynamic"><span class="const symbol"></span> platformBrowserDynamic</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser-dynamic/RESOURCE_CACHE_PROVIDER"><span class="const symbol"></span> RESOURCE_CACHE_PROVIDER</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/platform-browser-dynamic/testing">platform-browser-dynamic/testing</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/platform-browser-dynamic/testing/BrowserDynamicTestingModule"><span class="ngmodule symbol"></span> BrowserDynamicTestingModule</a></li><li class="api-item ng-star-inserted"><a href="api/platform-browser-dynamic/testing/platformBrowserDynamicTesting"><span class="const symbol"></span> platformBrowserDynamicTesting</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/platform-server">platform-server</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/platform-server/BEFORE_APP_SERIALIZED"><span class="const symbol"></span> BEFORE_APP_SERIALIZED</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/INITIAL_CONFIG"><span class="const symbol"></span> INITIAL_CONFIG</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/PlatformConfig"><span class="interface symbol"></span> PlatformConfig</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/platformDynamicServer"><span class="const symbol"></span> platformDynamicServer</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/platformServer"><span class="const symbol"></span> platformServer</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/PlatformState"><span class="class symbol"></span> PlatformState</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/renderModule"><span class="function symbol"></span> renderModule</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/renderModuleFactory"><span class="function symbol"></span> renderModuleFactory</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/ServerModule"><span class="ngmodule symbol"></span> ServerModule</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/ServerTransferStateModule"><span class="ngmodule symbol"></span> ServerTransferStateModule</a></li></ul></div><div class="ng-star-inserted"></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/platform-server/testing">platform-server/testing</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/platform-server/testing/platformServerTesting"><span class="const symbol"></span> platformServerTesting</a></li><li class="api-item ng-star-inserted"><a href="api/platform-server/testing/ServerTestingModule"><span class="ngmodule symbol"></span> ServerTestingModule</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/router">router</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/router/ActivatedRoute"><span class="class symbol"></span> ActivatedRoute</a></li><li class="api-item ng-star-inserted"><a href="api/router/ActivatedRouteSnapshot"><span class="class symbol"></span> ActivatedRouteSnapshot</a></li><li class="api-item ng-star-inserted"><a href="api/router/ActivationEnd"><span class="class symbol"></span> ActivationEnd</a></li><li class="api-item ng-star-inserted"><a href="api/router/ActivationStart"><span class="class symbol"></span> ActivationStart</a></li><li class="api-item ng-star-inserted"><a href="api/router/BaseRouteReuseStrategy"><span class="class symbol"></span> BaseRouteReuseStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/router/CanActivate"><span class="interface symbol"></span> CanActivate</a></li><li class="api-item ng-star-inserted"><a href="api/router/CanActivateChild"><span class="interface symbol"></span> CanActivateChild</a></li><li class="api-item ng-star-inserted"><a href="api/router/CanDeactivate"><span class="interface symbol"></span> CanDeactivate</a></li><li class="api-item ng-star-inserted"><a href="api/router/CanLoad"><span class="interface symbol"></span> CanLoad</a></li><li class="api-item ng-star-inserted"><a href="api/router/ChildActivationEnd"><span class="class symbol"></span> ChildActivationEnd</a></li><li class="api-item ng-star-inserted"><a href="api/router/ChildActivationStart"><span class="class symbol"></span> ChildActivationStart</a></li><li class="api-item ng-star-inserted"><a href="api/router/ChildrenOutletContexts"><span class="class symbol"></span> ChildrenOutletContexts</a></li><li class="api-item ng-star-inserted"><a href="api/router/convertToParamMap"><span class="function symbol"></span> convertToParamMap</a></li><li class="api-item ng-star-inserted"><a href="api/router/Data"><span class="symbol type-alias"></span> Data</a></li><li class="api-item ng-star-inserted"><a href="api/router/DefaultUrlSerializer"><span class="class symbol"></span> DefaultUrlSerializer</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/router/DeprecatedLoadChildren"><span class="symbol type-alias"></span> DeprecatedLoadChildren</a></li><li class="api-item ng-star-inserted"><a href="api/router/DetachedRouteHandle"><span class="symbol type-alias"></span> DetachedRouteHandle</a></li><li class="api-item ng-star-inserted"><a href="api/router/Event"><span class="symbol type-alias"></span> Event</a></li><li class="api-item ng-star-inserted"><a href="api/router/ExtraOptions"><span class="interface symbol"></span> ExtraOptions</a></li><li class="api-item ng-star-inserted"><a href="api/router/GuardsCheckEnd"><span class="class symbol"></span> GuardsCheckEnd</a></li><li class="api-item ng-star-inserted"><a href="api/router/GuardsCheckStart"><span class="class symbol"></span> GuardsCheckStart</a></li><li class="api-item ng-star-inserted"><a href="api/router/InitialNavigation"><span class="symbol type-alias"></span> InitialNavigation</a></li><li class="api-item ng-star-inserted"><a href="api/router/IsActiveMatchOptions"><span class="interface symbol"></span> IsActiveMatchOptions</a></li><li class="api-item ng-star-inserted"><a href="api/router/LoadChildren"><span class="symbol type-alias"></span> LoadChildren</a></li><li class="api-item ng-star-inserted"><a href="api/router/LoadChildrenCallback"><span class="symbol type-alias"></span> LoadChildrenCallback</a></li><li class="api-item ng-star-inserted"><a href="api/router/Navigation"><span class="symbol type-alias"></span> Navigation</a></li><li class="api-item ng-star-inserted"><a href="api/router/NavigationBehaviorOptions"><span class="interface symbol"></span> NavigationBehaviorOptions</a></li><li class="api-item ng-star-inserted"><a href="api/router/NavigationCancel"><span class="class symbol"></span> NavigationCancel</a></li><li class="api-item ng-star-inserted"><a href="api/router/NavigationEnd"><span class="class symbol"></span> NavigationEnd</a></li><li class="api-item ng-star-inserted"><a href="api/router/NavigationError"><span class="class symbol"></span> NavigationError</a></li><li class="api-item ng-star-inserted"><a href="api/router/NavigationExtras"><span class="interface symbol"></span> NavigationExtras</a></li><li class="api-item ng-star-inserted"><a href="api/router/NavigationStart"><span class="class symbol"></span> NavigationStart</a></li><li class="api-item ng-star-inserted"><a href="api/router/NoPreloading"><span class="class symbol"></span> NoPreloading</a></li><li class="api-item ng-star-inserted"><a href="api/router/OutletContext"><span class="class symbol"></span> OutletContext</a></li><li class="api-item ng-star-inserted"><a href="api/router/ParamMap"><span class="interface symbol"></span> ParamMap</a></li><li class="api-item ng-star-inserted"><a href="api/router/Params"><span class="symbol type-alias"></span> Params</a></li><li class="api-item ng-star-inserted"><a href="api/router/PreloadAllModules"><span class="class symbol"></span> PreloadAllModules</a></li><li class="api-item ng-star-inserted"><a href="api/router/PreloadingStrategy"><span class="class symbol"></span> PreloadingStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/router/PRIMARY_OUTLET"><span class="const symbol"></span> PRIMARY_OUTLET</a></li><li class="api-item ng-star-inserted"><a href="api/router/provideRoutes"><span class="function symbol"></span> provideRoutes</a></li><li class="api-item ng-star-inserted"><a href="api/router/QueryParamsHandling"><span class="symbol type-alias"></span> QueryParamsHandling</a></li><li class="api-item ng-star-inserted"><a href="api/router/Resolve"><span class="interface symbol"></span> Resolve</a></li><li class="api-item ng-star-inserted"><a href="api/router/ResolveData"><span class="symbol type-alias"></span> ResolveData</a></li><li class="api-item ng-star-inserted"><a href="api/router/ResolveEnd"><span class="class symbol"></span> ResolveEnd</a></li><li class="api-item ng-star-inserted"><a href="api/router/ResolveStart"><span class="class symbol"></span> ResolveStart</a></li><li class="api-item ng-star-inserted"><a href="api/router/Route"><span class="interface symbol"></span> Route</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouteConfigLoadEnd"><span class="class symbol"></span> RouteConfigLoadEnd</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouteConfigLoadStart"><span class="class symbol"></span> RouteConfigLoadStart</a></li><li class="api-item ng-star-inserted"><a href="api/router/Router"><span class="class symbol"></span> Router</a></li><li class="api-item ng-star-inserted"><a href="api/router/ROUTER_CONFIGURATION"><span class="const symbol"></span> ROUTER_CONFIGURATION</a></li><li class="api-item ng-star-inserted"><a href="api/router/ROUTER_INITIALIZER"><span class="const symbol"></span> ROUTER_INITIALIZER</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouteReuseStrategy"><span class="class symbol"></span> RouteReuseStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterEvent"><span class="class symbol"></span> RouterEvent</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterLink"><span class="directive symbol"></span> RouterLink</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterLinkActive"><span class="directive symbol"></span> RouterLinkActive</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterLinkWithHref"><span class="directive symbol"></span> RouterLinkWithHref</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterModule"><span class="ngmodule symbol"></span> RouterModule</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterOutlet"><span class="directive symbol"></span> RouterOutlet</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterOutletContract"><span class="interface symbol"></span> RouterOutletContract</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterPreloader"><span class="class symbol"></span> RouterPreloader</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterState"><span class="class symbol"></span> RouterState</a></li><li class="api-item ng-star-inserted"><a href="api/router/RouterStateSnapshot"><span class="class symbol"></span> RouterStateSnapshot</a></li><li class="api-item ng-star-inserted"><a href="api/router/Routes-0"><span class="symbol type-alias"></span> Routes</a></li><li class="api-item ng-star-inserted"><a href="api/router/ROUTES-1"><span class="const symbol"></span> ROUTES</a></li><li class="api-item ng-star-inserted"><a href="api/router/RoutesRecognized"><span class="class symbol"></span> RoutesRecognized</a></li><li class="api-item ng-star-inserted"><a href="api/router/RunGuardsAndResolvers"><span class="symbol type-alias"></span> RunGuardsAndResolvers</a></li><li class="api-item ng-star-inserted"><a href="api/router/Scroll"><span class="class symbol"></span> Scroll</a></li><li class="api-item ng-star-inserted"><a href="api/router/UrlCreationOptions"><span class="interface symbol"></span> UrlCreationOptions</a></li><li class="api-item ng-star-inserted"><a href="api/router/UrlHandlingStrategy"><span class="class symbol"></span> UrlHandlingStrategy</a></li><li class="api-item ng-star-inserted"><a href="api/router/UrlMatcher"><span class="symbol type-alias"></span> UrlMatcher</a></li><li class="api-item ng-star-inserted"><a href="api/router/UrlMatchResult"><span class="symbol type-alias"></span> UrlMatchResult</a></li><li class="api-item ng-star-inserted"><a href="api/router/UrlSegment"><span class="class symbol"></span> UrlSegment</a></li><li class="api-item ng-star-inserted"><a href="api/router/UrlSegmentGroup"><span class="class symbol"></span> UrlSegmentGroup</a></li><li class="api-item ng-star-inserted"><a href="api/router/UrlSerializer"><span class="class symbol"></span> UrlSerializer</a></li><li class="api-item ng-star-inserted"><a href="api/router/UrlTree"><span class="class symbol"></span> UrlTree</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/router/testing">router/testing</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/router/testing/RouterTestingModule"><span class="ngmodule symbol"></span> RouterTestingModule</a></li><li class="api-item ng-star-inserted"><a href="api/router/testing/setupTestingRouter"><span class="function symbol"></span> setupTestingRouter</a></li><li class="api-item ng-star-inserted"><a href="api/router/testing/SpyNgModuleFactoryLoader"><span class="class symbol"></span> SpyNgModuleFactoryLoader</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/router/upgrade">router/upgrade</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/router/upgrade/RouterUpgradeInitializer"><span class="const symbol"></span> RouterUpgradeInitializer</a></li><li class="api-item ng-star-inserted"><a href="api/router/upgrade/setUpLocationSync"><span class="function symbol"></span> setUpLocationSync</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/service-worker">service-worker</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/service-worker/ServiceWorkerModule"><span class="ngmodule symbol"></span> ServiceWorkerModule</a></li><li class="api-item ng-star-inserted"><a href="api/service-worker/SwPush"><span class="class symbol"></span> SwPush</a></li><li class="api-item ng-star-inserted"><a href="api/service-worker/SwRegistrationOptions"><span class="class symbol"></span> SwRegistrationOptions</a></li><li class="api-item ng-star-inserted"><a href="api/service-worker/SwUpdate"><span class="class symbol"></span> SwUpdate</a></li><li class="api-item ng-star-inserted"><a href="api/service-worker/UnrecoverableStateEvent"><span class="interface symbol"></span> UnrecoverableStateEvent</a></li><li class="api-item ng-star-inserted"><a href="api/service-worker/UpdateActivatedEvent"><span class="interface symbol"></span> UpdateActivatedEvent</a></li><li class="api-item ng-star-inserted"><a href="api/service-worker/UpdateAvailableEvent"><span class="interface symbol"></span> UpdateAvailableEvent</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a class="deprecated-api-item" href="api/upgrade">upgrade</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/upgrade/UpgradeAdapter"><span class="class symbol"></span> UpgradeAdapter</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/upgrade/UpgradeAdapterRef"><span class="class symbol"></span> UpgradeAdapterRef</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/upgrade/static">upgrade/static</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/upgrade/static/downgradeComponent"><span class="function symbol"></span> downgradeComponent</a></li><li class="api-item ng-star-inserted"><a href="api/upgrade/static/downgradeInjectable"><span class="function symbol"></span> downgradeInjectable</a></li><li class="api-item ng-star-inserted"><a href="api/upgrade/static/downgradeModule"><span class="function symbol"></span> downgradeModule</a></li><li class="api-item ng-star-inserted"><a href="api/upgrade/static/getAngularJSGlobal"><span class="function symbol"></span> getAngularJSGlobal</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/upgrade/static/getAngularLib"><span class="function symbol"></span> getAngularLib</a></li><li class="api-item ng-star-inserted"><a href="api/upgrade/static/setAngularJSGlobal"><span class="function symbol"></span> setAngularJSGlobal</a></li><li class="api-item ng-star-inserted"><a class="deprecated-api-item" href="api/upgrade/static/setAngularLib"><span class="function symbol"></span> setAngularLib</a></li><li class="api-item ng-star-inserted"><a href="api/upgrade/static/UpgradeComponent"><span class="directive symbol"></span> UpgradeComponent</a></li><li class="api-item ng-star-inserted"><a href="api/upgrade/static/UpgradeModule"><span class="ngmodule symbol"></span> UpgradeModule</a></li></ul></div><div class="ng-star-inserted"><h2 class="ng-star-inserted"><a href="api/upgrade/static/testing">upgrade/static/testing</a></h2><ul class="api-list ng-star-inserted"><li class="api-item ng-star-inserted"><a href="api/upgrade/static/testing/createAngularJSTestingModule"><span class="function symbol"></span> createAngularJSTestingModule</a></li><li class="api-item ng-star-inserted"><a href="api/upgrade/static/testing/createAngularTestingModule"><span class="function symbol"></span> createAngularTestingModule</a></li></ul></div></article></aio-api-list></div></div></div></aio-doc-viewer></main></mat-sidenav-content></mat-sidenav-container><footer class="no-print"><aio-footer><div class="grid-fluid"><div class="footer-block ng-star-inserted"><h3>资源</h3><ul><li class="ng-star-inserted"><a class="link" href="about" title="Angular 贡献者。">关于</a></li><li class="ng-star-inserted"><a class="link" href="resources" title="网络上的 Angular 工具、培训、博客等">资源列表</a></li><li class="ng-star-inserted"><a class="link" href="presskit" title="我们的联系方式、LOGO 和品牌">宣传资料</a></li><li class="ng-star-inserted"><a class="link" href="https://blog.angular.io/" title="Angular 官方博客">博客</a></li><li class="ng-star-inserted"><a class="link" href="analytics" title="Angular 使用情况分析">使用情况分析</a></li></ul></div><div class="footer-block ng-star-inserted"><h3>帮助</h3><ul><li class="ng-star-inserted"><a class="link" href="https://stackoverflow.com/questions/tagged/angular" title="Stack Overflow: 这里的社区会回答你关于 Angular 的技术问题">Stack Overflow</a></li><li class="ng-star-inserted"><a class="link" href="https://discord.gg/angular" title="Join the discussions at Angular Community Discord server.">加入 Discord</a></li><li class="ng-star-inserted"><a class="link" href="https://gitter.im/angular/angular" title="和老鸟聊 Angular">Gitter</a></li><li class="ng-star-inserted"><a class="link" href="https://github.com/angular/angular/issues" title="在 github 上报告问题和建议。">报告问题</a></li><li class="ng-star-inserted"><a class="link" href="https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md" title="让我们彼此尊重">行为规范</a></li></ul></div><div class="footer-block ng-star-inserted"><h3>社区</h3><ul><li class="ng-star-inserted"><a class="link" href="events" title="Angular events around the world.">活动</a></li><li class="ng-star-inserted"><a class="link" href="https://www.meetup.com/topics/angularjs/" title="参加聚会,向别的开发人员学习">聚会</a></li><li class="ng-star-inserted"><a class="link" href="https://twitter.com/angular" title="Twitter">Twitter</a></li><li class="ng-star-inserted"><a class="link" href="https://github.com/angular/angular" title="GitHub">GitHub</a></li><li class="ng-star-inserted"><a class="link" href="contribute" title="向 Angular 做贡献">做贡献</a></li></ul></div><div class="footer-block ng-star-inserted"><h3>多语言</h3><ul><li class="ng-star-inserted"><a class="link" href="http://docs.angular.lat/" title="Español.">Español</a></li><li class="ng-star-inserted"><a class="link" href="https://angular.io/" title="English Version.">English Version</a></li><li class="ng-star-inserted"><a class="link" href="https://angular.tw/" title="正體中文版">正體中文版</a></li><li class="ng-star-inserted"><a class="link" href="https://angular.jp/" title="日本語版">日本語版</a></li><li class="ng-star-inserted"><a class="link" href="https://angular.kr/" title="한국어">한국어</a></li></ul></div></div><p>Super-powered by Google ©2010-2021.</p><p>代码授权方式:<a href="license" title="License text">MIT-style License</a>. 文档授权方式:<a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.</p><p>当前版本:12.1.0-build.222+sha.abe97e69.</p></aio-footer></footer><div class="cdk-visually-hidden ng-star-inserted"><mat-icon role="img" class="mat-icon notranslate material-icons mat-icon-no-color" aria-hidden="true" data-mat-icon-type="font"> </mat-icon></div></aio-shell><noscript><div class="background-sky hero"></div><section id="intro" style="text-shadow:1px 1px #1976d2"><div class="hero-logo"><img src="assets/images/logos/angular/angular.svg" width="250" height="250" alt="Angular"></div><div class="homepage-container"><div class="hero-headline">现代 Web 开发平台</div></div></section><h2 style="color:red;margin-top:40px;position:relative;text-align:center;text-shadow:1px 1px #fafafa"><b><i>该网站需要浏览器支持 JavaScript</i></b></h2></noscript><script src="generated/js/custom-elements-es5-polyfills.js" nomodule=""></script><script src="runtime-es2015.defda96372ed05ed3ed5.js" type="module"></script><script src="runtime-es5.defda96372ed05ed3ed5.js" nomodule="" defer=""></script><script src="polyfills-es5.13d5a9a21b348dd0b1c2.js" nomodule="" defer=""></script><script src="polyfills-es2015.e88e400822cab8b930d3.js" type="module"></script><script src="main-es2015.f6a978abd38cff967836.js" type="module"></script><script src="main-es5.f6a978abd38cff967836.js" nomodule="" defer=""></script></body></html>