首页 > 解决方案 > 为什么 Oracle 在设置多个值时建议使用 model.setValue() 方法而不是 setRecordValue()?

问题描述

我正在使用 Apex 18.2。根据 Apex 的 JSDoc,Oracle 建议在设置多个值时应该使用 model.setValue() 方法而不是 setRecordValue()。但不幸的是,它没有提及背后的原因。有谁知道它是什么?

标签: oracle-apexoracle-apex-18.2

解决方案


我佩服你的好奇心。它将使您成为出色的开发人员。:)

要真正了解区别,我建议学习阅读源代码。虽然一开始很困难,但随着时间的推移会变得更容易,并成为一项无价的技能。

APEX 团队使这变得非常容易。打开您的开发人员工具,然后在调试模式下运行该页面。这会将未缩小的 JavaScript 源文件加载到 DOM 中,而不是缩小版本。转到 Sources 选项卡并找到相关文件(一开始识别正确的文件需要时间,但它也变得更容易)。您可以直接打开文件(更适合调试)或右键单击它并在另一个选项卡中打开它(更适合扫描)。

在此处输入图像描述

然后只需搜索您所追求的功能的代码并阅读它......

在此处输入图像描述

如您所见,调用setRecordValue,getRecord在代理模型setValue方法之前调用 。如果您进行多次setRecordValue调用,这只是一个可以避免的代码路径。这可能是一个微优化,但它们可以加起来。


推荐阅读