- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我有一个 oDataModel v2使用双向绑定(bind),我调用 setDeferredGroups() 方法,然后它会将 所有 数据更改的默认行为更改为不再延迟。
我们可以在this documentation中看到这里在“双向绑定(bind)”下它说:
“默认情况下,所有更改都收集在一个名为“更改”的批处理组中,该批处理组被设置为延迟。要提交更改,请使用 submitChanges()。”
这是真的。如果我不调用函数setDeferredGroups(),那么我所有的数据更改都不会自动触发任何请求。在我按预期手动调用 oModel.submitChanges() 之前,不会发送任何请求。
现在在“批处理”标题下的同一篇文章中:
“对于每个绑定(bind)和每个手动请求,都可以指定一个 groupId。属于同一组的所有请求都被捆绑到一个批处理请求中。没有 groupId 的请求被捆绑在默认批处理组中。”
我决定我希望能够通过给他们一个 groupId 来插入一组更改,所以我调用指南中所示的函数,如下所示:
oModel.setDeferredGroups(["myGroupId"]);
然后,例如,我创建一个条目,如下所示:
oModel.createEntry("/RANDOM_ENTITY", {
groupId : "myGroupId"
});
而且我根本没有更改其他代码。这按预期工作,我能够调用传入 groupId 的 submitChanges() 函数:
oModel.submitChanges({
groupId : "myGroupId"
});
现在的问题是,在执行此操作时,它将所有未设置此 groupId 的更改的默认行为设置为不延迟(尽管所有更改均按标准延迟)。默认情况下所有更改都是延迟的,但如果您调用此函数,它会更改它,以便仅具有给定 groupId 的更改被延迟。
这意味着每次我在没有设置 groupId 的情况下更改任何实体的数据时,它都会触发对服务器的请求。例如。更改屏幕上的双向绑定(bind)字段将在失去焦点的那一秒发送网络请求。而不是等待我调用 oModel.submitChanges()。
所以我的问题是:
最佳答案
原来名为“changes”的默认延迟组被“setDeferredGroups”覆盖,但可以先通过“getDeferredGroups”检索。
所以我需要:
oModel.setDeferredGroups(oModel.getDeferredGroups().concat(["myGroupId"]));
关于javascript - SAPUI5 oDataModel setDeferredGroups 自动触发请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46333396/
当我有一个 oDataModel v2使用双向绑定(bind),我调用 setDeferredGroups() 方法,然后它会将 所有 数据更改的默认行为更改为不再延迟。 我们可以在this docu
我是一名优秀的程序员,十分优秀!