这是一个简单的用例,用于存储具有继承的一对多(甚至一对一)。 Ext JS如何使用它的JSON读取器来处理它?</ p>
以下代码提供了一些伪模型和数据来说明用例:
伪代码示例:
Models:
Car {
model,
year,
color
}
Truck extends Car {
bedLength,
duality
}
Van extends Car {
leftSlideDoor,
rightSlideDoor,
tailGate
}
CarOwner {
name,
cars <Car>
}
Data:
carOwners:
[
{
name: "Sencha",
cars: [
{
color: "Brown",
model: "Mater"
type: "truck",
duality: "false",
bedLength: "10"
},
{
color: "red",
model: "sienna",
type: "van",
tailGate: "true",
leftSlideDoor: "true",
rightSlideDoor: "true"
}
]
}
]
加载数据时,&#34;正确&#34;汽车的类型被实例化和加载。 如何在Ext JS中完成?
答案 0 :(得分:0)
从OO的角度来看,你所描述的并不起作用。您的车主拥有一系列“汽车”,但您尝试在数据中使用的类型不是汽车,而是扩展汽车。在c#中,您的carOwner
可能包含List<ICar>
,虽然这样可以存储卡车和货车,但您只能使用ICar界面的属性(因为这些是唯一的共享属性) )。
我建议在那个例子中,如果属性是可变的,你可以像这样设置你自己的车:
CarOwner {
name,
cars <Car>
vans <Van>
trucks <Trucks>
}
或者您可以将您的数据描述为“车辆”,并使该对象具有足够的通用性以包含所有可能的属性。
作为旁注,如果你纯粹是在Ext中的'协会'的例子后,汽车/货车/卡车的事情是假设的,回复这个,我会放弃一个。