我想将 expand 参数传递给,read
因为如果我像这样调用服务它不起作用:
oModel1.read("/LinesSet?$expand=ToCells", {
Run Code Online (Sandbox Code Playgroud)
Bog*_*ann 14
该read
API预计地图选项中,我们可以使用属性定义的任何查询第二个参数urlParameters
:
oModel1.read("/LinesSet", {
urlParameters: {
"$expand": "ToCells"
},
success: this.onSuccess.bind(this),
// ...
});
Run Code Online (Sandbox Code Playgroud)
urlParameters:包含将作为查询字符串传递的参数的映射
只是不要忘记包括$
beforeexpand
以表明它是一个系统查询。否则,它将被视为自定义查询。
我想提到的是,这myODataModel.read
通常不是必需的。您可以通过<NavigationProperty>
为 XML 中的控件分配相应的名称来简单地使用 OData 上下文/列表绑定:
<Table binding="{ToThatRelatedSingleEntity}" items="{ToThatRelatedCollection}">
Run Code Online (Sandbox Code Playgroud)
(注意:您可能必须templateShareable
按照主题:绑定模板的生命周期中的说明相应地添加到聚合绑定中)
然后绑定而不是模型会自动为您发送请求。无需使用中间 JSONModel。与v4.ODataModel
which 甚至没有read
方法相同。
这也使得在应用程序中更容易迁移到 V4 模型。