angular-cn/aio/dist/generated/docs/api/forms/FormGroupName.json

5 lines
20 KiB
JSON

{
"id": "api/forms/FormGroupName",
"title": "FormGroupName",
"contents": "\n\n<article>\n <div class=\"breadcrumb-container\">\n <div class=\"breadcrumb\">\n <script type=\"application/ld+json\">\n {\n \"@context\": \"http://schema.org\",\n \"@type\": \"BreadcrumbList\",\n \"itemListElement\": [\n { \"@type\": \"ListItem\", \"position\": 1, \"item\": { \"@id\": \"https://angular.io//api\", \"name\": \"API\" } },\n { \"@type\": \"ListItem\", \"position\": 2, \"item\": { \"@id\": \"https://angular.io/api/forms\", \"name\": \"@angular/forms\" } },\n { \"@type\": \"ListItem\", \"position\": 3, \"item\": { \"@id\": \"https://angular.io/api/forms/FormGroupName\", \"name\": \"FormGroupName\" } }\n ]\n }\n </script>\n <a href=\"/api\">API</a> > <a href=\"api/forms\">@angular/forms</a>\n </div>\n <div class=\"github-links\">\n <a href=\"https://github.com/angular/angular/edit/master/packages/forms/src/directives/reactive_directives/form_group_name.ts?message=docs(forms)%3A%20describe%20your%20change...#L25-L104\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/directives/reactive_directives/form_group_name.ts#L25-L104\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n </div>\n \n <header class=\"api-header\">\n <h1 id=\"formgroupname\">FormGroupName<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#formgroupname\"><i class=\"material-icons\">link</i></a></h1>\n \n <label class=\"api-type-label directive\">directive</label>\n \n \n \n </header>\n \n <aio-toc class=\"embedded\"></aio-toc>\n\n <div class=\"api-body\">\n \n <section class=\"short-description\">\n <p>Syncs a nested <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> to a DOM element.</p>\n\n <p><a href=\"api/forms/FormGroupName#description\">See more...</a></p>\n </section>\n \n \n \n \n<section class=\"see-also\">\n <h2 id=\"see-also\">See also<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#see-also\"><i class=\"material-icons\">link</i></a></h2>\n <ul>\n \n <li><p><a href=\"guide/reactive-forms\">Reactive Forms Guide</a></p>\n</li>\n </ul>\n</section>\n\n\n <h2 id=\"ngmodule\">NgModule<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#ngmodule\"><i class=\"material-icons\">link</i></a></h2>\n<ul class=\"ngmodule-list\">\n\n <li>\n <a href=\"api/forms/ReactiveFormsModule\">\n <code-example language=\"ts\" hidecopy=\"true\" class=\"no-box\">ReactiveFormsModule</code-example>\n </a>\n </li>\n \n</ul>\n\n\n \n<section class=\"selector-list\">\n <h2 id=\"selectors\">Selectors<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#selectors\"><i class=\"material-icons\">link</i></a></h2>\n \n <ul>\n <li><code>[<a href=\"api/forms/FormGroupName\" class=\"code-anchor\">formGroupName</a>]</code></li>\n \n </ul>\n \n</section>\n\n\n\n \n\n<section class=\"instance-properties\">\n <h2 id=\"properties\">Properties<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#properties\"><i class=\"material-icons\">link</i></a></h2>\n <table class=\"is-full-width list-table property-table\">\n <thead>\n <tr>\n <th>Property</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n \n <tr class=\"instance-property\">\n <td>\n <a id=\"name\"></a>\n <code class=\"\"><span class=\"property-binding\">@<a href=\"api/core/Input\" class=\"code-anchor\">Input</a>('<a href=\"api/forms/FormGroupName\" class=\"code-anchor\">formGroupName</a>')</span><br><span class=\"member-name\">name</span>: string | <a href=\"api/common/DecimalPipe\" class=\"code-anchor\">number</a> | null</code>\n </td>\n <td>\n \n <p>Tracks the name of the <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> bound to the directive. The name corresponds\nto a key in the parent <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> or <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code>.\nAccepts a name as a string or a number.\nThe name in the form of a string is useful for individual forms,\nwhile the numerical form allows for form groups to be bound\nto indices when iterating over groups in a <code><a href=\"api/forms/FormArray\" class=\"code-anchor\">FormArray</a></code>.</p>\n\n \n </td>\n </tr>\n \n </tbody>\n </table>\n</section>\n\n\n<section class=\"inherited-members-list\">\n <h3 id=\"inherited-from-abstractformgroupdirective\">Inherited from <code><a class=\"code-anchor\" href=\"api/forms/AbstractFormGroupDirective\">AbstractFormGroupDirective</a></code><a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#inherited-from-abstractformgroupdirective\"><i class=\"material-icons\">link</i></a></h3>\n <ul>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractFormGroupDirective#control\"><span class=\"member-name\">control</span>: FormGroup</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractFormGroupDirective#path\"><span class=\"member-name\">path</span>: string[]</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractFormGroupDirective#formDirective\"><span class=\"member-name\">formDirective</span>: Form | null</a></code>\n </li>\n \n </ul>\n</section>\n\n\n\n<section class=\"inherited-members-list\">\n <h3 id=\"inherited-from-controlcontainer\">Inherited from <code><a class=\"code-anchor\" href=\"api/forms/ControlContainer\">ControlContainer</a></code><a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#inherited-from-controlcontainer\"><i class=\"material-icons\">link</i></a></h3>\n <ul>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/ControlContainer#name\"><span class=\"member-name\">name</span>: string | number | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/ControlContainer#formDirective\"><span class=\"member-name\">formDirective</span>: Form | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/ControlContainer#path\"><span class=\"member-name\">path</span>: string[] | null</a></code>\n </li>\n \n </ul>\n</section>\n\n\n\n<section class=\"inherited-members-list\">\n <h3 id=\"inherited-from-abstractcontroldirective\">Inherited from <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective\">AbstractControlDirective</a></code><a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#inherited-from-abstractcontroldirective\"><i class=\"material-icons\">link</i></a></h3>\n <ul>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#control\">abstract <span class=\"member-name\">control</span>: AbstractControl | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#value\"><span class=\"member-name\">value</span>: any</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#valid\"><span class=\"member-name\">valid</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#invalid\"><span class=\"member-name\">invalid</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#pending\"><span class=\"member-name\">pending</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#disabled\"><span class=\"member-name\">disabled</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#enabled\"><span class=\"member-name\">enabled</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#errors\"><span class=\"member-name\">errors</span>: ValidationErrors | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#pristine\"><span class=\"member-name\">pristine</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#dirty\"><span class=\"member-name\">dirty</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#touched\"><span class=\"member-name\">touched</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#status\"><span class=\"member-name\">status</span>: string | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#untouched\"><span class=\"member-name\">untouched</span>: boolean | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#statusChanges\"><span class=\"member-name\">statusChanges</span>: Observable&#x3C;any> | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#valueChanges\"><span class=\"member-name\">valueChanges</span>: Observable&#x3C;any> | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#path\"><span class=\"member-name\">path</span>: string[] | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#validator\"><span class=\"member-name\">validator</span>: ValidatorFn | null</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#asyncValidator\"><span class=\"member-name\">asyncValidator</span>: AsyncValidatorFn | null</a></code>\n </li>\n \n </ul>\n</section>\n\n\n\n\n\n\n\n \n\n\n \n <section class=\"description\">\n <h2 id=\"description\">Description<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#description\"><i class=\"material-icons\">link</i></a></h2>\n <p>This directive can only be used with a parent <code><a href=\"api/forms/FormGroupDirective\" class=\"code-anchor\">FormGroupDirective</a></code>.</p>\n<p>It accepts the string name of the nested <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> to link, and\nlooks for a <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> registered with that name in the parent\n<code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> instance you passed into <code><a href=\"api/forms/FormGroupDirective\" class=\"code-anchor\">FormGroupDirective</a></code>.</p>\n<p>Use nested form groups to validate a sub-group of a\nform separately from the rest or to group the values of certain\ncontrols into their own nested object.</p>\n\n <h3 id=\"access-the-group-by-name\">Access the group by name<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#access-the-group-by-name\"><i class=\"material-icons\">link</i></a></h3>\n<p>The following example uses the <a href=\"api/forms/AbstractControl#get\">get</a> method to access the\nassociated <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code></p>\n<code-example language=\"ts\">\n this.form.get('name');\n</code-example>\n<h3 id=\"access-individual-controls-in-the-group\">Access individual controls in the group<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#access-individual-controls-in-the-group\"><i class=\"material-icons\">link</i></a></h3>\n<p>The following example uses the <a href=\"api/forms/AbstractControl#get\">get</a> method to access\nindividual controls within the group using dot syntax.</p>\n<code-example language=\"ts\">\n this.form.get('name.first');\n</code-example>\n<h3 id=\"register-a-nested-formgroup\">Register a nested <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>.<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#register-a-nested-formgroup\"><i class=\"material-icons\">link</i></a></h3>\n<p>The following example registers a nested <em>name</em> <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> within an existing <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code>,\nand provides methods to retrieve the nested <code><a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a></code> and individual controls.</p>\n<code-example path=\"forms/ts/nestedFormGroup/nested_form_group_example.ts\" region=\"Component\">\nimport {<a href=\"api/core/Component\" class=\"code-anchor\">Component</a>} from '@angular/core';\nimport {<a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>, <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>, <a href=\"api/forms/Validators\" class=\"code-anchor\">Validators</a>} from '@angular/forms';\n\n@<a href=\"api/core/Component\" class=\"code-anchor\">Component</a>({\n selector: 'example-app',\n template: `\n &#x3C;form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n &#x3C;p *<a href=\"api/common/NgIf\" class=\"code-anchor\">ngIf</a>=\"name.invalid\">Name is invalid.&#x3C;/p>\n\n &#x3C;div <a href=\"api/forms/FormGroupName\" class=\"code-anchor\">formGroupName</a>=\"name\">\n &#x3C;input <a href=\"api/forms/FormControlName\" class=\"code-anchor\">formControlName</a>=\"first\" placeholder=\"First name\">\n &#x3C;input <a href=\"api/forms/FormControlName\" class=\"code-anchor\">formControlName</a>=\"last\" placeholder=\"Last name\">\n &#x3C;/div>\n &#x3C;input <a href=\"api/forms/FormControlName\" class=\"code-anchor\">formControlName</a>=\"<a href=\"api/forms/EmailValidator\" class=\"code-anchor\">email</a>\" placeholder=\"Email\">\n &#x3C;button type=\"submit\">Submit&#x3C;/button>\n &#x3C;/form>\n\n &#x3C;button (click)=\"setPreset()\">Set preset&#x3C;/button>\n`,\n})\nexport class NestedFormGroupComp {\n form = new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n name: new <a href=\"api/forms/FormGroup\" class=\"code-anchor\">FormGroup</a>({\n first: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('Nancy', Validators.minLength(2)),\n last: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>('Drew', Validators.required)\n }),\n <a href=\"api/forms/EmailValidator\" class=\"code-anchor\">email</a>: new <a href=\"api/forms/FormControl\" class=\"code-anchor\">FormControl</a>()\n });\n\n get first(): any {\n return this.form.get('name.first');\n }\n\n get name(): any {\n return this.form.get('name');\n }\n\n onSubmit() {\n console.log(this.first.value); // 'Nancy'\n console.log(this.name.value); // {first: 'Nancy', last: 'Drew'}\n console.log(this.form.value); // {name: {first: 'Nancy', last: 'Drew'}, <a href=\"api/forms/EmailValidator\" class=\"code-anchor\">email</a>: ''}\n console.log(this.form.status); // VALID\n }\n\n setPreset() {\n this.name.setValue({first: 'Bess', last: 'Marvin'});\n }\n}\n\n</code-example>\n\n </section>\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n<section class=\"inherited-members-list\">\n <h3 id=\"inherited-from-abstractcontroldirective-1\">Inherited from <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective\">AbstractControlDirective</a></code><a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/forms/FormGroupName#inherited-from-abstractcontroldirective-1\"><i class=\"material-icons\">link</i></a></h3>\n <ul>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#reset\"><span class=\"member-name\">reset</span>(value: any = undefined): void</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#hasError\"><span class=\"member-name\">hasError</span>(errorCode: string, path?: string | (string | number)[]): boolean</a></code>\n </li>\n \n <li>\n <code><a class=\"code-anchor\" href=\"api/forms/AbstractControlDirective#getError\"><span class=\"member-name\">getError</span>(errorCode: string, path?: string | (string | number)[]): any</a></code>\n </li>\n \n </ul>\n</section>\n\n\n\n\n\n \n \n\n </div>\n</article>\n\n<!-- links to this doc:\n - api/core/OnDestroy\n - api/core/OnInit\n - api/forms\n - api/forms/AbstractControlDirective\n - api/forms/AbstractFormGroupDirective\n - api/forms/ControlContainer\n - api/forms/FormGroupDirective\n - api/forms/NgControlStatusGroup\n - api/forms/ReactiveFormsModule\n - guide/reactive-forms\n-->\n<!-- links from this doc:\n - /api\n - api/common/DecimalPipe\n - api/common/NgIf\n - api/core/Component\n - api/core/Input\n - api/forms\n - api/forms/AbstractControl#get\n - api/forms/AbstractControlDirective\n - api/forms/AbstractControlDirective#asyncValidator\n - api/forms/AbstractControlDirective#control\n - api/forms/AbstractControlDirective#dirty\n - api/forms/AbstractControlDirective#disabled\n - api/forms/AbstractControlDirective#enabled\n - api/forms/AbstractControlDirective#errors\n - api/forms/AbstractControlDirective#getError\n - api/forms/AbstractControlDirective#hasError\n - api/forms/AbstractControlDirective#invalid\n - api/forms/AbstractControlDirective#path\n - api/forms/AbstractControlDirective#pending\n - api/forms/AbstractControlDirective#pristine\n - api/forms/AbstractControlDirective#reset\n - api/forms/AbstractControlDirective#status\n - api/forms/AbstractControlDirective#statusChanges\n - api/forms/AbstractControlDirective#touched\n - api/forms/AbstractControlDirective#untouched\n - api/forms/AbstractControlDirective#valid\n - api/forms/AbstractControlDirective#validator\n - api/forms/AbstractControlDirective#value\n - api/forms/AbstractControlDirective#valueChanges\n - api/forms/AbstractFormGroupDirective\n - api/forms/AbstractFormGroupDirective#control\n - api/forms/AbstractFormGroupDirective#formDirective\n - api/forms/AbstractFormGroupDirective#path\n - api/forms/ControlContainer\n - api/forms/ControlContainer#formDirective\n - api/forms/ControlContainer#name\n - api/forms/ControlContainer#path\n - api/forms/EmailValidator\n - api/forms/FormArray\n - api/forms/FormControl\n - api/forms/FormControlName\n - api/forms/FormGroup\n - api/forms/FormGroupDirective\n - api/forms/FormGroupName#access-individual-controls-in-the-group\n - api/forms/FormGroupName#access-the-group-by-name\n - api/forms/FormGroupName#description\n - api/forms/FormGroupName#formgroupname\n - api/forms/FormGroupName#inherited-from-abstractcontroldirective\n - api/forms/FormGroupName#inherited-from-abstractcontroldirective-1\n - api/forms/FormGroupName#inherited-from-abstractformgroupdirective\n - api/forms/FormGroupName#inherited-from-controlcontainer\n - api/forms/FormGroupName#ngmodule\n - api/forms/FormGroupName#properties\n - api/forms/FormGroupName#register-a-nested-formgroup\n - api/forms/FormGroupName#see-also\n - api/forms/FormGroupName#selectors\n - api/forms/ReactiveFormsModule\n - api/forms/Validators\n - guide/reactive-forms\n - https://github.com/angular/angular/edit/master/packages/forms/src/directives/reactive_directives/form_group_name.ts?message=docs(forms)%3A%20describe%20your%20change...#L25-L104\n - https://github.com/angular/angular/tree/12.0.0-next.7/packages/forms/src/directives/reactive_directives/form_group_name.ts#L25-L104\n-->"
}