乐趣区

关于javascript:关于-SAP-UI5-参数-updateGroupId-前面两个-符号的含义

我的 SAP UI5 教程,SAP UI5 利用开发教程之六十五 – 基于 OData V4 的 SAP UI5 表格控件如何实现创立,编辑和保留性能,外面演示了通过 XML 视图的形式,非 SAP UI5 Table 控件,定义复合绑定门路的语法,如下图所示:

<Table
                            id="peopleList"
                            growing="true"
                            growingThreshold="10"
                            items="{
                                path: '/People',
                                parameters: {
                                    $count: true,
                                    $$updateGroupId : 'peopleGroup'
                                }
                            }">

这行语句的语义是:当用户批改 (update) 表格行我的项目时,表格控件不会立刻将这些批改,通过 HTTP Post 申请的形式发送到提供 OData 服务的 Mock Server,而是提早到当用户点击工具栏的 Save 按钮时才发送 HTTP Post Batch 申请,进行批改的保留。peopleGroup 是 Batch 申请的 group 编号,能够在 Chrome 开发者工具里察看到:

有敌人对于 XML 视图里的参数 $$updateGroupId 提出这样的疑难:

这个 updateGroupId 后面是两个 $ 符号,而 count 后面是一个 $,这个含意能给解释一下吗?啥时候是一个,啥时候是两个?

其实答案很简略:

  1. 带有 单个 $ 符号的操作,代表这是 OData 协定反对的规范操作。

从 OData 协定的官网 上能够找到所有这些规范操作的列表,比方:

  • $search
  • $filter
  • $count
  • $orderby
  • $skip
  • $top
    等等。

以两个 $$ 结尾的操作,阐明是 SAP 引入的自定义参数,用以同 OData 协定规范的操作相辨别。

这个情理其实和 SAP UI5 index.html 页面里,id 为 sap-ui-bootstrap 的疏导 script 元素里,有大量 data-sap-XXXX 属性定义的情理一样。这些属性用 data-sap 结尾,也是为了防止和 HTML 规范的属性相冲突的可能性。

OData V4 模型反对为 read, update 和 delete 操作别离指定不同的 group ID. 调用 OData Model API 提交的更改申请,会依据 group ID 合并到同一个批处理申请中。

对于 group id 字段的更多细节,请参考这两篇文章:

  • 对于 SAP UI5 Context.prototype.delete 办法的输出参数 Group ID 的细节
  • SAP UI5 OData V4 模型的结构形式
退出移动版