从 xml 视图调用 SAPUI5 方法的模型



是否可以从模型调用方法?

例如,我已经扩展了我的 JSON 模型并添加了一个名为 hello_world 的函数。

在我的XML视图中,我想从控件调用此模型的方法,并关闭控件的事件,如下所示:

<Select change="{cl_vehicule>}.hello_world">
<items>
<core:Item text="1" key="1"/>
<core:Item text="2" key="2"/>
</items>
</Select>

可能吗?

如果是,如何?

由于以下原因,这是不可能的:

1( Select 控件中的更改是一个事件,因此它必须与函数相关联。这与调用函数不同。请注意,使用事件时不要在方法名称后添加 ((

2( 示例中cl_vehicule应该是控件和模型之间关联的名称。模型没有名称。在数据绑定中放在>之前的名称在清单或setModel方法调用中指定。换句话说,同一模型可以与不同的控件相关联,但使用不同的名称。

3( 使用 {} 表示您正在使用方法 bindProperty 或 bindAggregation 到该控件。这些方法是在 ManagedObject 类中定义的。这些不能在事件中使用。

4(由于UI5使用MVC范式,因此视图不应直接联系模型


因此,您基本上应该使用change事件将其与控制器中的函数相关联。在该函数中,您可以使用不同的方法来获取扩展模型以调用方法。

最新更新