oracle-apex - 为什么 Oracle 在设置多个值时建议使用 model.setValue() 方法而不是 setRecordValue()?
问题描述
我正在使用 Apex 18.2。根据 Apex 的 JSDoc,Oracle 建议在设置多个值时应该使用 model.setValue() 方法而不是 setRecordValue()。但不幸的是,它没有提及背后的原因。有谁知道它是什么?
解决方案
我佩服你的好奇心。它将使您成为出色的开发人员。:)
要真正了解区别,我建议学习阅读源代码。虽然一开始很困难,但随着时间的推移会变得更容易,并成为一项无价的技能。
APEX 团队使这变得非常容易。打开您的开发人员工具,然后在调试模式下运行该页面。这会将未缩小的 JavaScript 源文件加载到 DOM 中,而不是缩小版本。转到 Sources 选项卡并找到相关文件(一开始识别正确的文件需要时间,但它也变得更容易)。您可以直接打开文件(更适合调试)或右键单击它并在另一个选项卡中打开它(更适合扫描)。
然后只需搜索您所追求的功能的代码并阅读它......
如您所见,调用setRecordValue
,getRecord
在代理模型setValue
方法之前调用 。如果您进行多次setRecordValue
调用,这只是一个可以避免的代码路径。这可能是一个微优化,但它们可以加起来。
推荐阅读
- google-kubernetes-engine - Google Cloud Stackdriver Profiler GKE 安装
- asp.net-mvc-5 - 如何在 ASP.NET MVC 5 中使用 ViewModel 将多个模型添加到单个视图?
- python - 点击一个href
- c - 将值放入矩阵
- java - 使用 Set 从 arrayList 中删除重复列表
- javascript - Javascript,扩展 ES6 类 setter 将继承 getter
- c# - 如果 First() 不存在,如何在不引发异常的情况下获得它?[当 FirstOrDefault 没有帮助时]
- javascript - HTML 不断增加的数字
- javascript - 谷歌地图地理编码不再免费?
- events - 代号一 - 长按事件忽略正常按下