我有一个具有很多CSS属性的类,如下所示:
export class CustomDropdown {
class_name: String
name: String
font_family: String = "Varela Round"
border_color: String = "#C0C0C0"
speech_color: String = "#FFFFFF"
font_color: String = "#1E1E1E"
font_size_value: String
radius_value: String
...
}
有了它,我实例化了许多对象,每个对象都以某种方式影响视口。
问题是,当我更改一个对象的'font_family'
属性时,我希望所有其他对象都进行更新,而无论其位置已更改。
因此,如果我设置了ObjectA.font_family = 'arial'
,则其他所有对象都将用font_family = 'arial'
更新。我想用尽可能少的功能做到这一点。
所有这些都应该“指向” 为相同的值。
TS支持这样的事情吗?如果没有,最简单的方法是什么?
答案 0 :(得分:1)
您可以使用a static
property-这些是类本身的属性,而不是每个实例。
export class CustomDropdown {
class_name: String
name: String
static font_family: String = "Varela Round"
border_color: String = "#C0C0C0"
speech_color: String = "#FFFFFF"
font_color: String = "#1E1E1E"
font_size_value: String
radius_value: String
...
}
由于它是一个 class 属性,因此您必须通过引用该类来访问它:
//read
let currentFontFamily = CustomDropdown.font_family;
//write
CustomDropdown.font_family = newFontFamily;
Check a small example on the TypeScript Playground-打开开发者控制台,然后单击“运行”以查看输出。