如何按需切换UI5内容?

2023-11-29

<semantic:DetailPage title="Detail Page Title">
  <mvc:XMLView viewName="query.sap.view.Table" />
  <mvc:XMLView viewName="query.sap.view.chart" />
</semantic:DetailPage>

我在同一内容中有两个嵌套视图,我只想显示其中之一。当我按下一个按钮时,它应该切换到另一个按钮。


为了仅使其中一个控件可见(在我们的例子中,子控件之一Views),人们可能会想先实例化所有控件,然后使用visible属性来隐藏其他“不需要的”控件。但请记住,这种方法可能会导致性能和内存问题取决于复杂性和元素的数量。根据链接的文档主题:

不要使用可见性进行惰性实例化

当应用程序具有最初不可见的区域,或者一次只有多个选项之一可见时,请执行以下操作:not创建所有 UI 控件并将其中大部分设置为不可见!如果这样做,OpenUI5 将实例化并初始化所有这些控件,这会消耗不必要的时间和内存,即使它们未渲染也是如此。除此之外,数据绑定也会被初始化,这可能会触发现阶段不需要的后端请求。当 UI 中最初不可见的部分非常复杂或数量众多时,影响尤其大。

幸运的是,UI5已经内置了延迟加载功能。

按需切换视图

Via NavContainer + Router

配置targets内的财产应用程序描述符文件(manifest.json)相应地如下所示:https://embed.plnkr.co/HRSJ44/

为此,我们需要子视图的目标对象的三个属性:

  1. parent:指向定义父视图的父目标名称
  2. controlId:应附加子视图的控件的 ID。
    在上面的 Plunker 示例中,控件是NavContainer它还提供滑动动画作为奖励。动画可以通过以下命令关闭transition: "show".
  3. controlAggregation:就我们而言"pages"(NavContainer 的默认聚合)。

定义完这三个属性后,我们可以显示目标视图而不更改哈希值,或通过调用导航到子视图component.getRouter().navTo("thatChildRouteName");。无论哪种方式,子视图都会被延迟创建,并且我们有一种灵活的方式来切换不同的子视图。

UI5 lazy loading on a button press

通过“块”(sap.uxap.BlockBase)

视图可以延迟加载并切换sap.uxap.BlockBase See:

  • 例子:https://embed.plnkr.co/9ZVwpP/
  • Docs:
    • 创建块
    • 对象页块
    • API参考:sap/uxap/BlockBase

虽然块通常与sap.uxap.ObjectPageLayout(OPL),它们也可以独立于自由式应用程序中的 OPL 设计使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何按需切换UI5内容? 的相关文章

  • OData 模型不起作用

    我正在尝试使用expand我的 XML 视图中的选项 但它没有产生任何数据 正如我在 网络 选项下的调试中看到的那样 数据来自后端 但 XML 视图中似乎存在一些绑定问题 组件 js sap ui define sap ui core UI
  • 连接多个UI5项目

    我有多个 UI5 项目 让我们调用应用程序 X 和 Y 并且我在应用程序 X 中使用路由器 我的应用程序 X 中有一个工具栏菜单 当我单击其中一条路线时 我希望它将我重定向到名为应用程序 Y 的另一个项目 使用 SAP UI5 是否有可能
  • 如何找到加载缓慢的 SAPUI5 应用程序的加载瓶颈

    我正在构建一个自定义 SAPUI5 应用程序 其中包含七个图表 sap viz ui5 controls VizFrame 在页面的标题内容中 嵌套在sap suite ui commons ChartContainer 和网格表 sap
  • SAPUI5 oModel.create() - 如何将数据发布到 SAP 后端?

    我有一个按钮 我想通过按下方法将数据发布到我的 SAP 后端 oCellBtnOtherchart addContent new sap ui commons Button text Save press function var sSer
  • 如何后台加载sapui5资源

    在我们的应用程序中 我们加载了许多 SAPUI5 库 index html 有以下代码来加载 SAPUI5 资源 在我们的 web xml 中我们已经提到https sapui5 hana on
  • 如何访问 sapUI5 聚合绑定中的迭代索引?

    在 sapUI5 中我有一个 JSONModel 包含 element1 columnName col1 values name value 1 1 selected true name value 1 2 selected true na
  • 服务器请求期间不显示忙碌对话框

    我正在开发一个 UI5 应用程序 我想在 ajax 请求期间阻止 UI 表单用户 我添加了以下代码 var dialog new sap m BusyDialog text this languageModel getModelProper
  • UI5中单向绑定和一次性绑定的区别

    UI5中一次性绑定和单向绑定有什么区别 是否有任何特定于用户的用例我会使用它们中的每一个 我无法从文档中获得太多信息 One way 它能做什么 单向数据流 模型数据的变化 例如通过setProperty 会稳定地传播到 UI 中感兴趣的元
  • 对多于一列进行过滤

    我有一个可以从一列中过滤的表格 handleSearch function oEvent var sValue oEvent getParameter value var oFilter new sap ui model Filter RA
  • 为什么要用“FragmentDefinition”包装“Dialog”?

    UI5 对话框可以直接定义为Dialog
  • 页面为空白,没有抛出任何错误

    我正在尝试在图块容器中显示几个图块 该容器从虚拟 JSON 文件中获取数据 我的编码完全显示在这个样本 https sapui5 hana ondemand com sample sap m sample TileContainer cod
  • 表动态加载SAPUI5/UI5

    我想在 SAPUI5 Table 组件中显示大量数据 我曾经通过动态加载来实现这些数据表 这意味着该表最初加载了约 50 条记录 用户向下滚动足够远后 下一组 50 条记录将加载到表中 这样我就可以显示包含超过 160 000 个条目的表格
  • SAPUI5 路由配置中“controlAggregation”的含义是什么?

    我真的不明白下面的属性 controlAggregation 对于路由 SAPUI5 应用程序有何作用 不存在具有该 id 的元素 我在此处找到的演示应用程序中的任何位置都找不到对 页面 的任何引用 SAPUI5路由演示 https sap
  • 如何禁用或启用信箱并调整 UI5 以适应宽屏?

    我有一个基于 UI5 的应用程序 1 66 它可以正常工作 但是屏幕的左侧和右侧有巨大的空白空间 又名信箱 https experience sap com fiori design web letter boxing is on 我想禁用
  • 箭头函数中的“未捕获类型错误:this._isDateType 不是函数”

    每次我都会遇到找不到函数定义的类型错误 代码如下 return BaseController extend ch micarna weightprotocol controller Calendar onInit function cons
  • SAPUI5 - Sap.m.RadioButton 值字段?

    sap m RadioButton已经只有Text属性并且没有Value属性 虽然我可以通过使用自定义数据来解决这个问题 但我是否遗漏了什么 sap ui commons RadioButton有一个key场地 另外 将值绑定到单选按钮组的
  • 从 XML 绑定表达式调用控制器函数

    使用 OpenUI5 SAPUI5 根据文档XML 绑定表达式 https help sap com saphelp nw74 helpdata en da f6852a04b44d118963968a1239d2c0 content ht
  • 使用 XML-View 将浏览器事件附加到控件

    我的 REST 服务向我发送了大量数据 每个属性都包含value and a help 包含字段属性的详细描述的属性 好的 我在 JSONModel 中有数据 具有值和帮助的属性列表 并且我使用数据绑定XML https openui5 h
  • 加载实体而不将其绑定到视图

    在控制器中 Detail controller js 我想访问尚未绑定到控件的 OData 实体 如果输入0001 of my BananaSet绑定到视图 我可以通过访问原始数据 this getView getModel getProp
  • UI5 性能参数:data-sap-ui-preload 与 data-sap-ui-async

    不同的SAPUI5性能指南提到了两个关键参数 它们似乎具有相似的性质 但解释略有不同 data sap ui preload async https help sap com viewer b4b7cba328bc480d9b373c7da

随机推荐

  • CustomPicker 确定和取消按钮的颜色

    我在android项目中有这个custompicker类 public class CustomPickerRenderer PickerRenderer private Context context private IElementCo
  • python元组可以修改吗?

    我正在读入并解析一些数据 基本上 数据是一堆整数和字符串 所以我不能只使用列表来存储数据 每组数据中都会包含一定数量的项目 但有时会丢失一些项目 这是我所拥有的 users list of objects I ll be creating
  • Dockerfile 中是否需要“FROM”子句?

    对于我遇到的所有 Dockerfile 诚然不是很多 它们都使用了FROM基于现有图像的子句 即使它是FROM scratch 这个条款是必须的吗 是否可以有一个没有的 DockerfileFROM条款 这样创建的容器能做些什么吗 EDIT
  • json对象转换为java字符串

    我有这样的 json 文件 我想使用 org simple json 将 json 转换为字符串 header IssuerID 000141 AuthenticationID e07020c0d040a050a0808099 Authen
  • 非常基础的 Java

    我对 Java 很陌生 这是我的代码 public class funk int largest int a int b int c if a gt b if a gt c return a else if b gt c return b
  • 使用 Winform 绘图

    我想获得一些 WinForm Graphics 知识 因此我正在将我的小型 2D 编辑器从 XNA 重写为仅 WinForm Graphics 现在 我为自己的图块集创建了一个新的 UserControl 但正如我所见 Paint方法仅在控
  • Pimpl 习惯用法与纯虚拟类接口

    我想知道什么会让程序员选择 Pimpl 惯用法或纯虚拟类和继承 据我了解 pimpl 习惯用法为每个公共方法和对象创建开销提供了一个显式的额外间接寻址 另一方面 纯虚拟类为继承实现提供了隐式间接 vtable 并且我知道没有对象创建开销 E
  • Laravel 数据透视表中雄辩的 UUID

    这个问题就像这样 laravel uuid 未在查询中显示 然而 这个问题的不同之处在于该表是一个数据透视表id字段使用插入时通过 MySQL 触发器生成的 UUID 我不想为该数据透视表创建另一个模型来为其提供针对类似问题答案的解决方案
  • 结构模式匹配 Python - 匹配集合 / Frozenset

    我一直在尝试 Python 3 10 中的结构模式匹配 但不知道如何让它匹配一组 例如我尝试过 a 1 2 3 match a case set 1 2 3 print matched 我尝试过 a 1 2 3 match a case s
  • Cloud Firestore 不等式运算符异常抖动

    当我在我的 flutter 应用程序中使用 cloud firestore 时 发生了奇怪的异常 EDITED 这是我的代码 Stream
  • Selenium2 WebDriver Ruby => 如何点击隐藏链接

    我在 Ruby 上使用 Selenium 2 WebDriver 如何使用 css 单击隐藏链接 显示 无 该链接是子菜单 当鼠标悬停在菜单上时可见 EDIT Selenium WebDriver Error NoSuchElementEr
  • 访问 Windows Media Player 库 C#

    我试图找出如何在 C 中访问 Windows Media Player 库 我浏览了网络和 SO 发现了很多关于控制 WMP 的文章 不过 我正在尝试访问其图书馆信息 IE 它的曲目名称 文件路径和元数据 是否有一个库可以实现此目的 或者至
  • 如何添加到python字典而不替换

    我当前的代码是category1 name number 但是 如果出现相同的名称 则字典中的值将被新数字替换 我该如何制作 而不是保留原始值 并添加新值 现在给键提供两个值 谢谢 您必须使字典指向列表而不是数字 例如 如果您有两个数字用于
  • Tagsinput 和 typeahead:无法读取未定义的属性“apply”

    当我尝试使用 taginput 和 typeahead 时 我不断收到此错误 html section div class example example typeahead h3 Typeahead h3 div class bs exa
  • 这个 IDisposable 实现正确吗?

    我永远无法记住实现 IDisposable 接口的所有规则 因此我尝试提出一个基类来处理所有这些并使 IDisposable 易于实现 我只是想听听您的意见 这个实现是否可以 或者您是否看到我可以改进的地方 该基类的用户应该从它派生 然后实
  • 对 Java 规范中的泛型子类型感到困惑?

    我正在阅读 java 规范https docs oracle com javase specs jls se10 html jls 4 html jls 4 10 2这句话让我很困惑 D
  • 我可以将第三方 jar 放在 karaf (任何特定文件夹)中来解决传递依赖关系吗?

    我有各种具有第三方库依赖项的自制项目 我将它们捆绑到 OSGI 容器中 但无法解决我的项目中的深层依赖关系 现在我正在寻找 karaf 文件夹 我可以在其中放置我的库 以便捆绑包可以直接访问它们而不是安装它们 更重要的是我也在使用maven
  • 如何在 MVC 3 控制器中获取动态创建的 Json 数据集?

    好的 我正在使用 MVC 3 它非常适合将 JSON 数据集反序列化为传递给我的控制器操作的强类型对象 不幸的是 我还没有找到更动态的情况的解决方案 内置的 Json 反序列化和类是否支持 未定义 属性集 例如 假设我有一些固定数据 例如姓
  • C语言中如何将字符串复制到剪贴板?

    The SetClipboardData函数需要一个HANDLE参考 我在转换字符串以供函数中使用时遇到问题 这是我的代码 char output Test HLOCAL hMem LocalAlloc LHND 1024 char cpt
  • 如何按需切换UI5内容?