我有一些数据存储在后端。这些数据看起来就是这样。
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。约尔格
答案 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 ......它的概念基本相同