标签: sapui5

Dialog 不是 ui5 的构造函数

在 sapui5 中使用重用对话框时出现错误:

对话框不是构造函数

我想创建一个对话框片段。dialog.js 包含所有函数,然后在 component.js 中将其设为全局

sap.ui.define([
    "sap/ui/base/Object"
], function (Object) {
    "use strict";

    return Object.extend("tmp.Zprojetyousra.controller.Dialog", {
        constructor : function (oView) {
            this._oView = oView;    
        },
        open : function () {
            var oView = this._oView;
            var oDialog = oView.byId("dialog");
            // create dialog lazily
            if (!oDialog) {
                var oFragmentController = {
                    onCloseDialog : function () {
                        oDialog.close();
                    }
                };
                // create dialog via fragment factory
                oDialog = sap.ui.xmlfragment(oView.getId(), "tmp.Zprojetyousra.view.Dialog", oFragmentController);
                // connect dialog to the root view of this …
Run Code Online (Sandbox Code Playgroud)

sapui5 sap-web-ide

1
推荐指数
1
解决办法
3822
查看次数

如何将键字段作为变量而不是硬编码键值传递给 OData 操作?

read从 SAP UI5 视图控制器调用 GetEntity OData 方法并在请求 URL 中传递键值。当我对键值进行硬编码时,我从后端得到了正确的响应。

但是,当我尝试通过将键值附加到 URL 来动态传递变量中的键值时,它不起作用。我收到以下错误

HTTP请求失败404

在下面的代码中,sGrant是变量,它不起作用。但是,如果我用下面代码中硬编码的值替换变量名称,例如,在这样的 read 方法中:"/GrantMasterSet('TY560003')",那么它可以工作:

var sGrant = this.byId("grantNbr").getValue();
var oMod = this.getOwnerComponent().getModel();
oMod.read("/GrantMasterSet('sGrant')", {
  success: function(oData) {
    var oJsonModel =  new JSONModel();
    oJsonModel.setData(oData);
    this.getView().setModel(oJsonModel);
  }.bind(this),
  error: function(oError) {
    MessageToast.show("Read Failed");
  }
});
Run Code Online (Sandbox Code Playgroud)

sapui5

1
推荐指数
1
解决办法
5822
查看次数

SAPUI5中如何将日期时间字符串转换为日期?

我正在尝试在 SAPUI5 中将字符串转换为日期

var Fdate = "2020-08-01T00:00:00";
var dateFormat = sap.ui.core.format.DateFormat.getDateInstance({
    pattern: "dd/MM/yyyy"
});
fdateFormatted = dateFormat.format(Fdate);
Run Code Online (Sandbox Code Playgroud)

但这会返回以下错误:

未捕获的类型错误:j.getTime 不是函数

我尝试将源模式设置为“yyyy-MM-ddTHH:mm:ss”。但这会返回相同的错误。

javascript datetime date sapui5

1
推荐指数
1
解决办法
1万
查看次数

XML 片段中分配的方法未触发

我想将一个liveChange事件附加到Input基于可重用的字段FragmentDialog演练步骤 19:重用对话框)。

在 XML 模板中HelloDialog.fragment.xml我添加了:

<Input
    id = "input-b"
    type = "Password"
    liveChange = ".onLiveChange"
    placeholder = "Enter your password" />
Run Code Online (Sandbox Code Playgroud)

在片段的控制器中HelloDialog.js我添加了:

onLiveChange: function (oEvent) {
    const sNewValue = oEvent.getParameter("value");
    this.byId("getValue").setText(sNewValue);
    console.log("sNewValue");
}
Run Code Online (Sandbox Code Playgroud)

然后我在 DevTools 中在此方法中设置一个断点,并尝试在相关内容中键入文本Input,并期望断点将被触发,但什么也没有发生。

我尝试onLiveChange从我调用此片段的位置添加到视图的控制器中Component.js,但仍然没有反应。

为什么onLiveChange我的情况没有触发?在 SAP示例中:输入 - 值更新一切正常,但它们使用常规视图,而不是基于片段的对话框。

javascript sapui5

1
推荐指数
1
解决办法
2146
查看次数


JavaScript对象失去了跨函数的引用

我正在使用一个小的待办事项列表应用程序测试SAPUI5框架.我有一个数据库并通过REST服务访问数据.我可以将所有内容放入我的UI,从UI进入数据库.

但是,我在JSON模型中保存数据库数据的引用,该模型映射到我在UI上显示的表.当我尝试添加/删除元素时,对数据库的写入似乎正常工作,但我的实习模型变量在不同的函数调用之间失去了引用(例如"initToDoModel"和"addToDo").这是代码:

  sap.ui.controller("sapui5_test.SAPUI5_Test", {

  //THIS IS THE REFFERENCE
  todoModel : null,            

        addTodo : function(text) {  
            this.doAjax("/add", {  
                text : text  
            }).done(function(todo) { 

                //HERE todoModel IS UNDEFINED BUT WAS SET IN initTodoModel
                this.todoModel.getProperty("/").push(todo); 
                this.todoModel.updateBindings();
                this.getView().rerender(); 
            });  
        },  

        initTodoModel : function() {    

            var oModel = new sap.ui.model.json.JSONModel();
            var aData = jQuery.ajax({
                type : "GET",
                contentType : "application/json",
                url : "http://sapm04.ibsolution.local:50000/demo.sap.com~d337_resttest_web/rest/todo/init/",
                dataType : "json",
                async: false,
                success : function(data,textStatus, jqXHR) {

                    oModel.setData({modelData : data});

                    //HERE THE todoModel IS SET
                    this.todoModel = oModel;
                    alert("Ok"); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery sapui5

0
推荐指数
1
解决办法
1015
查看次数

OpenUI5代码阅读

出于好奇,我想到了阅读GitHub上提供的OpenUI5代码.但是,我不知道从哪里开始.什么是OpenUI5代码的"第1章"?有很多库和代码我不知道从哪里开始.有人可以帮我吗?提前致谢!

sapui5

0
推荐指数
1
解决办法
213
查看次数

事件触发器本身

我不知道为什么只有当按下按钮时才能运行的功能.

这是我的按钮声明:

var oButton = new sap.m.Button({
    id: "buttonId",
    text: "Yes",
    press: this.fnB()
});
Run Code Online (Sandbox Code Playgroud)

我的控制器如下所示:

sap.ui.controller("<controller-name>", {

    fnA: function(){<button_declaration_here>},

    fnB: function(){console.log("Hello from fnB!");}

});
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我得到:

你好fnB!

未捕获的TypeError:无法读取未定义的属性"0"

还没有按下按钮,为什么我会收到问候消息?

如果重要,我使用SAP WEB IDE ...

javascript sapui5

0
推荐指数
1
解决办法
88
查看次数

从控制器访问模型 - SAPUI5

我在Component.js中添加了一个命名模型.我可以从任何视图访问带有其名称的模型,但我想从其中一个对我不起作用的控制器访问此模型.

sap.ui.core.getModel("modelName")无效,sap.ui.getCore().getModel("modelName")也无效.

如何从控制器中引用其包含的Component和命名模型?

谢谢

加纳

sapui5

0
推荐指数
2
解决办法
1万
查看次数

SAPUI5中的多个"展开"参数oData绑定

我有一个表结合并从ES4 SAP系统消耗的公开可用的OData服务,我的根实体集ProductSet,它有2个导航性能:"ToSupplier" +"ToSalesOrderLineItems",我能发出"展开"参数表绑定如下,但是你可以帮助我如何传递两个导航属性,以便oData服务扩展"ToSupplier"+"ToSalesOrderLineItems"?

谢谢密山

odata sapui5

0
推荐指数
1
解决办法
4647
查看次数

标签 统计

sapui5 ×10

javascript ×4

date ×1

datetime ×1

jquery ×1

odata ×1

sap-web-ide ×1