Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms Can';t访问所提交表格的数据_Forms_Angular - Fatal编程技术网

Forms Can';t访问所提交表格的数据

Forms Can';t访问所提交表格的数据,forms,angular,Forms,Angular,我从angular2开始。我有一个简单的模板驱动表单,可以在控制台中访问数据。但是我在传递数据时遇到了问题。这是我的密码 import {Component} from "angular2/core"; @Component({ selector: 'my-template-driven', template:` <h2>Sign-up form</h2> <form (ngSubmit)="onSubmit(f)" #f="ngForm">

我从angular2开始。我有一个简单的模板驱动表单,可以在控制台中访问数据。但是我在传递数据时遇到了问题。这是我的密码

import {Component} from "angular2/core";

@Component({
selector: 'my-template-driven',
template:`
    <h2>Sign-up form</h2>
    <form (ngSubmit)="onSubmit(f)" #f="ngForm">
        <div>
            <label for="email">Mail</label>
            <input ngControl="email" type="text" id="email" required #email="ngForm">
            <span class="validation-error" *ngIf="!email.valid">Not Valid</span>
        </div>
          <div>
            <label for="password">Password</label>
            <input ngControl="password" type="text" id="password" required #password="ngForm">
            <span class="validation-error" *ngIf="!password.valid">Not Valid</span>
        </div>
          <div>
            <label for="confirm-password">Confirm Password</label>
            <input ngControl="confirm-password" type="text" id="confirm-password" required #passwordConfirm="ngForm">
            <span class="validation-error" *ngIf="!passwordConfirm.valid">Not Valid</span>
        </div>
        <button type="submit" [disabled]="!f.valid || password.value !== passwordConfirm.value">Submit</button>
    </form>
    <h2>You Submitted</h2>


`
})
export class TemplateDrivenFormComponent {
user: {email: '', password: ''};

onSubmit(form){
    //console.log(form);
    this.user.email = form.value['email'];
    //this.user.password = form.controls['password'].value;
}
从“angular2/core”导入{Component};
@组成部分({
选择器:“我的模板驱动”,
模板:`
报名表
邮寄
无效
密码
无效
确认密码
无效
提交
你提交了
`
})
导出类TemplateDrivenFormComponent{
用户:{电子邮件:'',密码:'};
提交(表格){
//控制台日志(表格);
this.user.email=form.value['email'];
//this.user.password=form.controls['password'].value;
}
}


我得到了这个
angular2.js:23941原始异常:TypeError:无法设置未定义的属性“email”
error。如何访问已提交表单的数据。

您没有正确声明本地数据,必须在声明时对其进行初始化,或者在构造函数中进行初始化

user: any;

constructor() {
    this.user = {email: "", password: ""} as any;
}
之后,必须提供类型。

Html输入必须具有“
ngModel
”属性。

用户:{email:'',密码:'};没有;似乎不对。我认为应该是这样的
user:any={email:'',密码:'}