我在Fiori Launchpad中卸载custom utility模块时遇到问题。我想这样做来清理资源。
模块定义:
jQuery.sap.declare("sap.ui.demo.tdg.util.Formatter");
sap.ui.demo.tdg.util.Formatter = {
methodCall: function() {
...
模块在Component init中加载:
myComponentPath.Component.prototype.init = function(){
jQuery.sap.require("sap.ui.demo.tdg.util.Formatter");
sap.ui.demo.tdg.util.Formatter.methodCall(); <- error happens here when opening 2nd time
我尝试在Component destroy 上将模块设置为 null 但是我在sap.ui.demo.tdg.util上得到 undefined 。在Fiori Launchpad第二次打开应用程序时的格式:
myComponentPath.Component.prototype.destroy = function(){
sap.ui.demo.tdg.util.Formatter = null;
或者我只是偏执,不应该关心正确清理的资源。 :)
谢谢!
答案 0 :(得分:1)
您可以尝试使用:
jQuery.sap.unloadResource("some/util/Formatter.js", false, true, true);
修改强> jQuery.sap.require加载资源并将其保存到名为mModules的内部映射中。使用unloadResource,您可以从此映射中删除entrie。路径背后的参数描述了如何处理像全局变量这样的依赖关系。
但您可以自己阅读文档here。