我有两个模型可以是对象。我有一个基类ctrl1,继承类ctrl2。在我的Spark视图中,我在div上有一个'each'来渲染列表中的控件(这些控件可以是ctrl1或ctrl2)。如果我在每个中引用基类属性,它将按预期呈现。但是如果我尝试引用派生类型属性,它会抛出一个错误,说ctrl1不包含我试图访问的属性的定义。我试过像这样的演员:
{(ctrl2)control.PropertyOnDerivedOnly}"
其中'control'是每个循环中的当前项。有没有什么方法可以使用Spark语法转换到我期望的对象?
值得一提的是,虽然它们可以是每种类型中的任何一种,但我在这个特定元素上做了'if',所以我知道它们此时只会是ctrl2。因此演员表应该有效。
答案 0 :(得分:0)
从技术上讲,您可以设置一个临时变量:
<var control2="control as ctrl2" />
<p>${control2.PropertyOnDerivedOnly}</p>
但是,我建议您创建一个专门为此视图提供服务的viewmodel,并从控制器填充viewmodel,然后在此处进行转换。