将ngModel与空Object一起使用

时间:2017-08-21 17:54:53

标签: angular typescript

将值添加到类的空实例的最新解决方案是什么?例如,我有一个用户类,我想创建一个新用户。在我的组件中,我实例化一个空的用户对象“user:User;”。使用构造函数设置属性,一些参数是可选的。现在,如果我想通过ngModel将输入表单绑定到空/未定义的类实例,这(当然)不起作用。我可以在我的组件中设置默认值,但这似乎不是完美的解决方案。

1 个答案:

答案 0 :(得分:0)

设置您的反应形式并将其设置为空白字符串。对可选字段也一样。

你需要告诉这些是一个可选字段,否则angular将无法理解它。

public username: AbstractControl;
public password: AbstractControl;
this.userForm = new FormGroup({
  username: new FormControl('', [Validators.required]),
  password: new FormControl('', [Validators.required])
});

查看代码:

<input type="text" name="username" 
   formControlName="username" class="form-control form-control-danger"
   id="username" placeholder="Username" required autofocus>

显示表单值:

<div>{{username.value || ''}}</div>

如果绑定值为null或未定义,而不将其设置为空字符串,则会引发错误。