Javascript 如何订阅联合类型枚举属性
我是新手,所以,我会尽可能多地描述Javascript 如何订阅联合类型枚举属性,javascript,knockout.js,observable,Javascript,Knockout.js,Observable,我是新手,所以,我会尽可能多地描述 abstract class Fish { Type = ko.observable<FishType>(); } class SalmonFish extends Fish {...} class GoldFish extends Fish {...} enum FishType { Salmon, Goldfish, Blobfish } abstract class Cat { Type = ko
abstract class Fish {
Type = ko.observable<FishType>();
}
class SalmonFish extends Fish {...}
class GoldFish extends Fish {...}
enum FishType {
Salmon,
Goldfish,
Blobfish
}
abstract class Cat {
Type = ko.observable<CatType>();
}
class Lion extends Cat {... }
class Tiger extends Cat {... }
enum CatType{
Lion,
Tiger,
Leopard
}
class AnimalViewModel {
SelectedAnimal = ko.observable<Fish|Cat>();
constructor() {
this.SelectedAnimal().Type.subscribe(type => {
//based on Type change, change SelectedAnimal to new extended class
}, this, '')
}
}
抽象类Fish{
Type=ko.observable();
}
SalmonFish类扩展了Fish{…}
金鱼类延伸鱼{…}
枚举鱼型{
鲑鱼
金鱼,
水滴鱼
}
抽象类猫{
Type=ko.observable();
}
类{…}
Tiger类扩展了Cat{…}
枚举类型{
狮子,
老虎,
豹子
}
类动物模型{
SelectedAnimal=ko.observable();
构造函数(){
this.SelectedAnimal().Type.subscribe(Type=>{
//根据类型更改,将SelectedAnimal更改为新的扩展类
},此为“”)
}
}
我有一个名为SelectedAnimal
的联合类型,我想订阅type
,根据类型,将SelectedAnimal更改为不同的类。但是Type
这里是any
。我如何知道Type
是FishType
还是AnimalType
附加:subscribe中的最后两个参数是什么意思<代码>回调目标和事件