使用动态内容和调用函数

时间:2018-02-18 13:27:53

标签: javascript dynamic sapui5

我有一些数据存储在后端。这些数据看起来就是这样。

sap.ui.define([], function() {
    "use strict";
    return {
        testFunc: function() {
            alert("function");
        }
    };
});

现在我想在运行时调用上面的函数“testFunc()”,如:

sap.ui.define(["sap/ui/core/mvc/Controller","...pfad.to.function], 
function(Controller, Function) {
    "use strict";
    return Controller.extend("CONT", {
        onInit: function() ;
           Function.testFunc();
        },
    })
});

但我只在运行时获得上面的字符串。 背景:

开发人员有一名编辑。在这个编辑器中,他正在编写功能代码。像上面一样。完成后,代码将存储到后端。当应用程序启动时,代码将从后端获取并继续前端。所以只有在这个时候我才知道代码并且必须动态地运行它。此外,我需要调试的可能性。所以我需要加载整个脚本文件。

有办法管理吗?

RG。约尔格

1 个答案:

答案 0 :(得分:0)

在控制器范围中设置一个变量,以便在实例化时将您传递的函数存储为参数:

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "...pfad.to.function",
], function (Controller, Function) {
    "use strict";
    return Controller.extend("CONT", {

        //This variable stores the object you return in your module
        myObjectWithFunction: Function, 

        onInit: function() ;
            this.myObjectWithFunction.testFunc();
        }
    });
});

看看"Custom Formatters" documentation ......它的概念基本相同