我正在重复使用几个定制的javascript库,这对我的实际项目有用,我的问题是在谷歌搜索后这个网站没有答案帮助了我,一些解决方案是hacky,我想知道因为angular2 / 4是正式释放的,所以有任何方法可以以适当的方式做到这一点吗?
修改 我正在添加更多细节,其中一些库用于传单,我不想更改为angular2-leaflet,因为像leaflet geotagged photos这样的插件自3年前就已经更新了。 如果我像这样加载脚本,我实际上可以在页面中看到地图:
ngAfterViewInit() {
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "./resources/js/app/visitantes_leaflet.js";
this.elementRef.nativeElement.appendChild(s);
}
但我不能从那里发送数据或调用方法(我试图在html上使用好的''js事件)。
来自@Michal的答案没有显示地图,@ Joo Beck的答案是“有效”,但显示此错误:Error: Map container not found.
因为在{L'('map')之前未添加<div id="map">
。< / p>
答案 0 :(得分:2)
您可能应该提及您尝试过的内容以及无法使用的内容,因此我们可以帮助您找到解决方案而不会浪费时间。如果你提到你是使用打字稿还是javascript,它也会很有用。看起来你使用的是javascript,但是如果你使用的是打字稿,可以解释你遇到问题的原因。
如果你正在使用打字稿,对我来说有用的只是一个声明var和一个导入,就像这样。
declare var RecordRTC: any;
import "../../dependencies/RecordRTC.js";
声明只是让打字稿知道它需要的是什么,它可以在转换后访问它。
答案 1 :(得分:1)
在angular-cli.json文件(位于root目录中)中,将您的javascript库添加到app [0] .scripts array
{
"project": {
},
"apps": [
{
...
"scripts": [
"../node_modules/custom-library/main.js",
],
}
],
}