让我们说我有一个角度服务,这个服务调用一个servlet,要求一个包含我的自定义JavaScript函数的library.js文件。 有没有什么办法可以在运行时动态地将这些函数添加到我的Angular应用程序中? 例如,在library.js文件中,我可能有以下自定义函数:
helloWorld(){
alert("hello world");
}
它应该如下工作:
1)我使用标准的Angular模块HttpClient
调用servlet2)servlet发送回library.js,其中包含一系列函数,如helloWorld();
3)angular web应用程序加载library.js文件(如何?)
4)然后我可以在我的角度代码中调用helloWorld()函数。
答案 0 :(得分:0)
好的,我们能够通过以下方式解决问题:
1)servlet以下面的消息回答,脚本标签是MANDATORY,否则不会被识别为有效的js代码。
String servletAnswer = "<script type=\"text/javascript\">
function helloWorld(){
alert("custom message!");
}
</script>"
2)角度应用程序订阅并等待servlet以通常的方式回答。我收到回复后立即:
var script = response;
$('body').append(script); /* i append the script to body of the document,
now the function helloWorld is available to the application */
3)我使用eval调用该函数:
eval("helloWorld()");
我希望它有所帮助!谢谢大家