所以我试图在我的SAPUI5控制器中包含一个外部.js文件。
For Each
但是,加载脚本后应该调用的回调永远不会被调用。它给我的错误信息是:
“externalLibrary.min.js:16 Uncaught TypeError:无法读取属性 “构造函数”未定义“
我能做到这一点的另一种方式是什么?我正在研究jQuery.sap.registerModulePath()和jQuery.sap.registerResourcePath()但是找不到这些使用的好例子,也没有解释两者在线的区别。
非常感谢!
答案 0 :(得分:4)
您可以尝试jQuery.sap.includeScript(vUrl, sId?, fnLoadCallback?, fnErrorCallback?)
https://sapui5.hana.ondemand.com/docs/api/symbols/jQuery.sap.html#.includeScript
在基于fiori launchpad的应用程序中,我们使用component.js作为root,因此我们没有index.html来包含脚本(如果您使用XML视图的HTML视图)。
试
jQuery.sap.includeScript({
url: "https://maps.googleapis.com...",
id: "IncludeGoogleMapsScript"
}).then(function() { ... })
不在门户服务中工作,提供后备: UsingjQuery.sap.includeScript().then() in HCP Firori Launchpad
答案 1 :(得分:-1)
您可以使用jQuery.sap.registerResourcePath(' lib',URL),然后使用jquery.SAP.require(' lib.file')。你可以一个接一个地做,或者在init中注册,然后再要求。没关系。当我在电话上时,我手边没有示例,但它有效。您需要记住的是,此示例将加载类似URL / file.js的内容,因此您需要相应地进行调整。你给lib的名字无关紧要。 您还可以将脚本标记注入当前页面,但是,require会同步加载外部库,而如果您注入脚本标记,则需要等到它加载回调。
PS:这些方法的大写不正确
答案 2 :(得分:-1)
知道了!为了将来参考,它可以加载索引html中的文件,如下所示:
<script src="library.js"></script>
主要问题是我试图包含也包含jQuery的外部依赖项。所以,我不得不从文件中删除它,现在它正在工作。