我知道通常最好的做法是将属性设为私有,并使用getter和setter方法,但是我在在线教程中看到的是,模型是通过以下方式完成的:
export class UserModel{
name: string,
}
我应该这样吗?
export class UserModel{
private name: string;
constructor(name){ this.name = name}
getName(){ return this.name}
setName(name) { this.name = name}
对于Angular来说,这是更好的做法,请注意,当我使用第一个时,与服务等一起使用时要容易得多。
答案 0 :(得分:1)
我通常定义一个接口,而不是仅定义属性的类:
export interface UserModel{
name: string;
}
仅当我需要在getter / setter中有一些逻辑或者如果值来自其他地方(例如服务)并且我想确保自己始终具有最新值时,才使用getter / setter。
在这里,我要确保在服务中更新绑定的searchTerm
。如果另一个组件更新了该服务,那我总是从该服务获取当前值。
get searchTerm(): string {
return this.dataService.serviceData;
}
set searchTerm(value: string) {
this.dataService.serviceData = value;
}
答案 1 :(得分:0)