在创建模型驱动的模板时,当我从表单值创建模型对象时.然后模型对象失go 了它的类型.
举个简单的例子:
示范教材:
export class Book {
public name: string;
public isbn: string;
}
组成部分:
@Component({
selector: 'app-book',
templateUrl: './book.component.html',
styleUrls: ['./book.component.css']
})
export class BookComponent implements OnInit {
bookFormGroup: FormGroup;
private newBook: Book = new Book();
constructor(private fb: FormBuilder) {
this.bookFormGroup = this.fb.group({
name: new FormControl(''),
isbn: new FormControl('')
});
}
ngOnInit() {
}
addBook() {
console.log('submit');
this.newBook = <Book> this.bookFormGroup.value;
console.log(this.newBook instanceof Book);
console.log(this.newBook);
}
}
HTML:
<form [formGroup]="bookFormGroup" (ngSubmit)="addBook()">
<input type="text" formControlName="name" >
<input type="text" formControlName="isbn" >
<input type="submit" value="Submit">
</form>
在上面的示例中,在填充newBook
个实例后,它将转换为普通Object
即,
this.newBook instanceof Book
正在变成FALSE
我该如何防止这种情况?
注意:我试了JSON.parse()
次,但还是一样.