未捕获的类型错误:Fragment.load 不是函数[重复]

2023-12-02

下面的代码是从 UI5 演示套件复制的,但是当我运行它时,控制台显示该函数的错误消息Fragment.load不是一个函数。请提出任何替代方案或突出显示问题(如果有)。

sap.ui.define([
  "sap/ui/core/mvc/Controller",
  "sap/m/MessageToast",
  "sap/ui/model/Filter",
  "sap/ui/model/FilterOperator",
  "sap/ui/model/json/JSONModel",
  "sap/m/MessageToast",
  "sap/ui/core/Fragment"
], function(Controller, MessageToast, Filter, FilterOperator, JSONModel, Fragment) {
  "use strict";

  return Controller.extend("Workspace.controller.HelloPanel", {
    onInit: function() {
      var plant = {
        pid: "",
        ptype: "",
        pdesc: "",
        psite: "",
        pstatus: "",
        passigned: "",
        pattach: ""
      };
      var oModel1 = new JSONModel(plant);
      this.getView().setModel(oModel1, "SUP");
    },

    onOpenDialog: function() {
      var oView = this.getView();
      if (!this.byId("helloDialog")) {
        Fragment.load({
          id: oView.getId(),
          name: "Workspace.view.HelloDialog",
          controller: this
        }).then(function(oDialog) {
          // connect dialog to the root view of this component (models, lifecycle)
          oView.addDependent(oDialog);
          oDialog.open();
        });
      } else {
        this.byId("helloDialog").open();
      }
    },

    onCloseDialog: function() {
      this.byId("helloDialog").close();
    },

  });
});

原因一:依赖和回调参数不匹配

打电话时sap.ui.define or sap.ui.require,您需要确保声明的依赖关系和回调参数都列在相同的顺序:

sap.ui.define([ // list of dependencies
  "sap/ui/core/mvc/Controller", // 1st
  "sap/m/MessageToast", // 2nd
  // ...
], function (Controller/*1st*/, MessageToast/*2nd, ...*/) {
  // ...
});

例如,在上面的问题中,我们可以看到"sap/m/MessageToast"是偶然的需要两次,导致与回调参数列表不匹配。删除第二个"sap/m/MessageToast"从依赖项列表中。否则,您会尝试致电.load()来自 MessageToast,因此出现错误。

原因2:该方法是后续版本引入的

如果您遇到相同的错误,尽管有正确的依赖顺序,请记住 UI5 引入了Fragment.load首先在1.58.

To see which UI5 version the app is actually running with, press Ctrl+Shift+Left Alt+P.



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

未捕获的类型错误:Fragment.load 不是函数[重复] 的相关文章

  • 如何搜索 sap.m.Tree 中的所有节点?

    我目前正在为我的公司开发 MasterDetail 应用程序 该应用程序提供以节点表示的可扩展类别 节点及其子节点与导航属性的绑定不是问题 但是 如果我想在上面的搜索字段中搜索某个组节点 它只会在四个最高节点之间进行过滤 它可以搜索第一层的
  • 如何从表中删除行

    这个问题是这个问题的后续问题 在 SAPUI5 表中添加新行的按钮 在我的新场景中 我在表格的第一列中添加了一个 删除 按钮 同样 JSON 文件如下所示 Invoices ProductName Pineapple Quantity 21
  • SAPUI5 为 TreeTable/空行创建 JSON

    我想从 JSON 请求创建 SAPUI TreeTable 目前我的输出如下所示 如您所见 每个节点都包含一个空行 gt 我不知道这是从哪里来的 我不想让这些空行行 我的表定义 Create an instance of the table
  • 为单选按钮组中的每个单选按钮添加图片

    我想实现一个单选按钮组 其中每个单选按钮旁边都有一张图片 在单选按钮的左侧 那可能吗 如果是这样 怎么办 html div class form group div
  • 服务器请求期间不显示忙碌对话框

    我正在开发一个 UI5 应用程序 我想在 ajax 请求期间阻止 UI 表单用户 我添加了以下代码 var dialog new sap m BusyDialog text this languageModel getModelProper
  • 查看休假事件

    我在 SAPUI5 应用程序中声明了一个视图控制器 现在我想要离开视图时执行任务由用户 已经可以添加回调函数了attachRoutePatternMatched现在 为了在用户导航视图时执行任务 我需要一个等效的函数来处理视图的离开 我用一
  • 获取 SAPUI5 v2 ODataModel 的服务元数据?

    我尝试获取 sapui5 v2 odata 模型的服务元数据 代码 var oModel new sap ui model odata v2 ODataModel someServiceURL var oMetadata oModel ge
  • SAPUI5 表达式绑定

    是否可以将控件属性绑定到具有动态属性名称的模型 例如存储在另一个模型字段中 我以为我们可以使用 SAPUI5表达式绑定 https sapui5 hana ondemand com docs guide daf6852a04b44d1189
  • requirejs - 多次调用 require 的性能

    我想知道在具有多个模块的项目中使用 RequireJS 的正确方法是什么 关于具有较少依赖项的多个 require 调用与具有所有依赖项的单个 require 的性能 让我们以一个应用程序为例 我需要加载一些模块 gmaps jquery
  • 如何从 Dojo 的构建系统中排除文件?

    我正在关注有关该主题的官方文档页面 http dojotoolkit org reference guide 1 9 build buildSystem html trees dirs and files但我无法将其配置为忽略 txt fi
  • sap.m.Input 与 type="Number" 的值绑定会清除输入字段

    这是一个后续问题如何将整数输入值绑定到滑块 https stackoverflow com questions 57930668 how to bind integer input value to slider 我发现演示解决方案在这个答
  • Typescript 模块创建 AMD 与 Common JS

    任何 Typescript 专家都可以澄清一下在使用 Typescript 时何时以及为何选择 AMD 与 Common JS 来创建模块吗 AMD 用于浏览器 例如 RequireJS 原因是它允许并行下载文件 因为网络延迟是主要瓶颈 C
  • 在客户端和服务器之间共享 TypeScript 类

    我有一个用 TypeScript 编写的 Node js 项目 在我的项目中 我有一个名为 public 的文件夹 其中包含客户端代码和 HTML 还有一个名为classes ts 的文件 该文件应该共享到服务器端 问题是我需要在类声明之前
  • 骨干获取回调的正确方法

    我的 Backbone 应用程序有一个名为schedule 我对成功和错误调用正确函数的区别有点困惑 我尝试了下面列出的两种可能的方法 但我不知道有什么区别以及从放置的路由器调用函数的正确方法是什么在外部视图中 第一种方式 require
  • SAPUI5:如何过滤具有2个或更多值的数据

    我目前正在 SAPUI5 中尝试一些东西 并且我已经实现了一个非常简单的搜索 如下所示 var filters var query evt getParameter query if query query length gt 0 var
  • SAPUI5自定义伪事件

    在 SAPUI5 OpenUI5 中定义自定义伪事件的最佳实践是什么 例如 假设我想在按住扩展的 sap m Button 几秒钟时触发一个事件 我不确定是否还有任何 最佳实践 我真的认为只有 一种 实践 但我渴望学习任何其他做法 所以如果
  • 在错误位置寻找模块的代码

    我使用 build dojotoolkit org 我的第一次尝试 创建了一个包含 3 层的多层构建 dojo js dojox js dijit js 每个 js 文件都上传到自己的文件夹中 dojo dojox dijit 当我运行代码
  • openui5:如何在 RowRepeater 中获取当前 JSON 模型元素

    我无法获取绑定到 RowRepeater 元素的当前 JSON 模型元素 对于表和列表 我只需检索当前索引 或多个索引 并根据这些值 指向 JSON 模型中的匹配元素 但是 RowRepeater 元素没有当前索引属性 我觉得我应该能够直接
  • SAP Web IDE 显示有关 ES6+ 功能的错误

    for var items in selectedContexts var downloadModel parsed parsed items toString split 1 parsed items toString split 2 v
  • Angular 10 - CommonJS 或 AMD 依赖项可能导致优化救助

    我已从 Angular 7 1 4 更新到 10 现在我收到类似这样的奇怪警告 C Sviluppo Welcome welcome cloud app src app calendario fasce mese mese componen

随机推荐

Powered by Hwhale