How To Setup a Two Way Binding To a Valid Reference but Empty/ New Object
如何正确设置绑定到所有属性都有效但为空的类对象?
工作……如果组件声明为这样:
1 2 3 4 5 6 7 8 9 | export class BioComponent implements OnInit { bio : Bio = { id : 1, FirstName :"", LastName :""}; constructor() { } ngOnInit() { } } |
在用户编辑时的视图中,以下绑定起作用,下面的第三行显示了用户键入的内容。
1 2 3 | <td><input [(ngModel)]="bio.FirstName" placeholder="Your first name"></td> <td><input [(ngModel)]="bio.LastName" placeholder="Your last name"></td> <td>{{bio.FirstName + ' ' + bio.LastName}}</td> |
失败
如果设置了
综上所述,我不想对每一个财产都有像
可以在构造函数中定义和初始化数据成员,使用默认值:
1 2 3 4 5 6 7 8 | export class Bio { constructor( public id: number = 0, public firstName: string = '', public lastName: string = '') { } } |
可以按如下方式创建
1 2 3 4 | bio1 = new Bio(); bio2 = new Bio(1); bio3 = new Bio(2, 'Robert'); bio4 = new Bio(3, 'Jane', 'Smith'); |
您可以在这个stackblitz中看到正在工作的代码。
您可以在
1 2 3 4 5 6 7 8 9 10 11 | export class Bio { id: number; firstName: string; lastName: string; constructor(id: number = 0, first: string = '', last: string = '') { this.id = id; this.firstName = first; this.lastName = last; } } |
然后在组件中