在故事级别使用加载优化设置
学习目标
选择最适合故事设计的正确加载优化设置。
正在加载优化设置
从技术上讲,首先创建数据绑定微件的实例。只要实例可用,就可以通过脚本编写访问微件,并等待渲染。
如果以及何时渲染数据绑定微件,则取决于故事的"加载优化设置":
视口加载
后台加载
没有

视口加载
对于视口加载,渲染阶段分为三个不同的子阶段:
初始渲染阶段
后台渲染阶段
视口渲染阶段
后台加载
对于后台加载,渲染阶段将拆分为两个不同的子阶段:
初始渲染阶段
一个或两个后台渲染阶段(取决于脚本处理)
无
对于无,仅存在初始渲染阶段。
数据加载故事简介
在本课中,将在所有方案中使用相同的故事,以演示可用的不同"加载优化设置"。我们来详细了解一下故事,因为了解故事的构建方式非常重要,以便在探索数据加载场景时了解数据加载流程。
视频:本节含 SAP 官方视频(视频 ID
1_sdrbkfks),需在 learning.sap.com 在线观看。
总结
通常,以下陈述是正确的:
初始渲染阶段完成后,故事的可见区域中的所有内容将立即完全渲染。
只要处理了初始渲染并且处理了 page.onInitialization 和 page.onActive 事件脚本的脚本执行,用户就可以开始与故事交互以触发脚本(例如,按下运行脚本的按钮)。
脚本中引用的任何微件都将被渲染,无论它是否是可见区域的一部分。
正在加载优化设置:视口加载
"视口加载"是所有故事的默认设置。
使用此设置意味着从故事中的数据绑定微件中,仅渲染故事可见区域(视口)内的微件。当用户在 页面中导航时,将渲染成为新视口一部分的数据绑定微件。这意味着,如果用户不查看整个故事,则可能永远不会渲染不需要的数据绑定微件。
在本课中,我们将了解两个场景的流程:
onInitialization 和 onActive 事件在初始渲染阶段之前完成。
onInitialization 和 onActive 事件在初始渲染阶段后完成。
加载优化设置的数据流:视口加载
在以下示例中,您可以看到编号为 1-4 的渲染流程中的关键步骤:
加载屏幕显示。
onInitialization 脚本完成。
初始视口渲染完成。
用户可以与故事内容交互以触发脚本。
场景 1:在初始渲染阶段之前完成脚本执行:

场景 2:脚本执行在初始渲染阶段后完成:

初始渲染阶段
**在初始渲染(R1)**阶段,将渲染以下数据绑定微件:
可查看的数据绑定微件。
不支持后台加载或视口加载的数据绑定微件。
标记为" 始终在启动时初始化" 的数据绑定微件。
当前页面的 onInitialization 或 onActive 事件中引用的数据绑定微件。
脚本执行
与初始渲染阶段并行处理 脚本 (S1)- onInitialization 当前页面的 事件。完成后,将处理当前页面的脚本 (S2) - onActive 事件。
注意
如果
onInitialization或onActive事件中的脚本调用引用了尚未完全渲染的数据绑定微件,则该调用将暂停并等待微件渲染,然后再执行脚本调用。
背景渲染阶段
处理脚本后,**在后台渲染(R2)**阶段,将渲染任何脚本或脚本函数引用的数据绑定微件。
如场景 1 和 2 所示,此渲染流程可以在初始渲染阶段期间或之后启动,具体取决于脚本执行的持续时间。
视口渲染阶段
在**视口渲染(R3)**阶段,当用户导航到故事中之前未查看的新区域时,此时将呈现任何先前未渲染的相应数据绑定微件。
使用视口加载优化设置
在本视频中,我们将了解"加载优化设置:视口加载",该设置如何影响故事的数据加载,以及在故事中使用设置的场景。
视频:本节含 SAP 官方视频(视频 ID
1_pojqnhyi),需在 learning.sap.com 在线观看。
加载优化设置的微件渲染概览:视口加载
下表汇总了选择"视口加载"时的数据绑定微件渲染:
可查看 |
由页面 onInitialization/onActive 事件脚本引用 |
由其他脚本引用 |
始终在启动时初始化 |
小部件在渲染阶段渲染 |
|---|---|---|---|---|
TRUE |
不适用 |
不适用 |
不适用 |
初始化 |
假 |
TRUE |
不适用 |
不适用 |
初始化 |
假 |
假 |
不适用 |
TRUE |
初始化 |
假 |
假 |
TRUE |
假 |
背景 |
假 |
假 |
假 |
假 |
VIEWPORT 默认情况下,仅当小部件变为可查看时,才会呈现微件。 |
正在加载优化设置:后台加载
使用"后台加载"设置意味着首先渲染视口中的微件,并在之后渲染当前页面上的所有其他数据绑定微件,无论用户是否查看这些微件。这可能会导致不必要的渲染和数据加载请求。
在本课中,我们将了解两个场景的流程:
脚本执行在初始渲染阶段之前完成。
脚本执行在初始渲染阶段后完成。
加载优化设置的数据流:后台加载
在以下示例中,您可以看到编号为 1-4 的渲染流程中的关键步骤:
加载屏幕显示。
onInitialization 脚本完成。
初始视口渲染完成。
用户可以与故事内容交互以触发脚本。
场景 1:在初始渲染阶段之前完成脚本执行:

场景 2:脚本执行在初始渲染阶段后完成:

初始渲染阶段
在初始渲染 (R1) 阶段,将渲染以下小部件:
可查看的数据绑定微件。
不支持后台加载的数据绑定微件。
标记为" 始终在启动时初始化" 的数据绑定微件。
当前页面的 onInitialization 或 onActive 事件中引用的数据绑定微件。
注意
脚本未将 Application.getWidgets() script API 检索到的微件识别为引用。
使用 Application.getWidgets() API 按表类型搜索窗口小部件将强制渲染所有表。
脚本执行
与初始渲染阶段并行处理 脚本 (S1) - 当前页面的 onInitialization 事件。完成后,将处理当前页面的脚本 (S2) - onActive 事件。
注意
如果
onInitialization或onActive事件中的脚本调用引用了尚未完全渲染的数据绑定微件,则该调用将暂停并等待微件渲染,然后再执行脚本调用。
背景渲染阶段
在第一个场景(即脚本执行在初始渲染阶段之前完成)中,有两个后台渲染阶段。**在后台渲染(R2)**期间,将渲染 onInitialization 和 onActive 事件脚本中引用的任何数据绑定微件。**在后台渲染(R3)**阶段,当前页面上尚未渲染的所有其他数据绑定微件都将开始渲染。
在脚本执行在初始渲染阶段后完成的第二个方案中,**在后台渲染(R2)**阶段,当前页面上尚未渲染的所有其他数据绑定微件都会开始渲染。
使用后台加载优化设置
在本视频中,我们将了解"加载优化设置:后台加载",该设置如何影响故事的数据加载,以及在故事中使用设置的场景。
视频:本节含 SAP 官方视频(视频 ID
1_gakme6tx),需在 learning.sap.com 在线观看。
加载优化设置的微件渲染概览:后台加载
下表汇总了选择"后台加载"时数据绑定微件的渲染:
可查看 |
由页面 onInitialization/onActive 事件脚本引用 |
由其他脚本引用 |
始终在启动时初始化 |
小部件在渲染阶段渲染 |
|---|---|---|---|---|
TRUE |
不适用 |
不适用 |
不适用 |
初始化 |
假 |
TRUE |
不适用 |
不适用 |
初始化 |
假 |
假 |
不适用 |
TRUE |
初始化 |
假 |
假 |
TRUE |
假 |
背景 |
假 |
假 |
假 |
假 |
背景 |
正在加载优化设置:无
使用此设置意味着在启动时会渲染故事中的所有数据绑定微件。
此设置可用于确保渲染所有微件,以便用户在故事中导航时不必等待任何其他渲染。对于无优化加载,重要的是要了解执行流与用于渲染故事的查看器不同。
精简版查看器是在 2024 年初引入的,旨在加载最精简版本的故事。通过将设计者和查看者角色解耦成为可能。如果故事与精简版查看器兼容,则 SAP Analytics Cloud 会自动使用精简版查看器打开故事,无需故事设计人员或查看者执行任何操作。
通过转到 SAP Help Portal 上的精简版查看器使用限制,可以找到访问精简版查看器所需的特定条件、支持的功能和限制。
加载优化设置的数据流:无
加载优化设置:无 - 精简版查看器:在下面的示例中,您可以看到渲染流程中的关键步骤,编号为 1-5。
随即显示装货屏幕。
为当前页面触发 onInitialization 事件。
为当前页面触发 onActive 事件。
onInitialization是脚本完整的。初始视口渲染已完成。
用户可以与故事内容交互以触发脚本。

加载优化设置:无 - 完整查看器:在下面的示例中,您可以看到渲染流程中的关键步骤,编号为 1-4。
加载屏幕显示。
初始视口渲染已完成。 为当前页面触发
onInitialization事件。onInitialization 是脚本完整的。 为当前页面触发
onActive事件。用户可以与故事内容交互以触发脚本。

初始渲染阶段
**在初始渲染(R1)**阶段,将同时为精简版查看器和完整查看器渲染所有数据绑定微件。
脚本执行
精简版查看器:
在初始渲染阶段,将处理当前页面的 onInitialization 事件中的脚本 (S1)。完成后,将处理当前页面的 onActive 事件中的脚本 (S2)。
完整查看器:
在初始渲染阶段之后,将处理当前页面的 onInitialization 事件中的脚本 (S1)。完成后,将处理当前页面的 onActive 事件中的脚本 (S2)。
加载优化设置的微件渲染概览:无
下表汇总了当精简版查看器和完整查看器都选择了"无"时的数据绑定微件渲染。
可查看 |
由页面 onInitialization/onActive 事件脚本引用 |
由其他脚本引用 |
始终在启动时初始化 |
小部件在渲染阶段渲染 |
|---|---|---|---|---|
不适用 |
不适用 |
不适用 |
不适用 |
初始化 |
在完整查看器中使用"无"加载优化设置
在本视频中,我们将了解"加载优化设置:无",使用"完整查看器"时如何影响故事的数据加载,以及在故事中使用设置的方案。
视频:本节含 SAP 官方视频(视频 ID
1_bx5gmxqe),需在 learning.sap.com 在线观看。
使用脚本的用户交互时间点
接下来,我们来看看设置对用户的影响以及使用脚本与故事交互的能力。
初始渲染阶段之前和之后完成 onActive 脚本时,我们将浏览*"视口加载和后台加载*",以及"无"设置的数据加载方案。
视频:本节含 SAP 官方视频(视频 ID
1_ubqrfp3l),需在 learning.sap.com 在线观看。
总结
你选择的"加载优化设置"以及故事中脚本的持续时间将影响用户何时可以与故事交互以触发脚本。
了解他们如何使用故事并包括仍在后台进行处理的视觉提示,将改善故事中的用户体验,并且是在了解要求和计划故事设计时要考虑的事项。