[英]How to load JavaScript file through directives in AngularJS?
我試圖通過使用指令將第三方JavaScript庫加載到我的AngularJS組件中。 腳本正在頁面上正確加載,但無法正常工作。 意味着如果您看到代碼inline.js,則它們已向window.OOo添加了一個功能,由於某種原因,該功能並未被添加至window.OOo。
如果我通過使用scripts標記將相同的腳本添加到index.html,則一切正常。
但是,我不想在主頁上加載此腳本,因為它將僅由一個組件使用。
請參見下面的代碼。
視圖
<div>
<my-directive></my-directive>
</div>
指示
@Directive({
appName: "ao.app",
injectableName: "myDirective",
ngInjectables: ["$compile", "$window"]
})
class Survey {
constructor(private $compile: ng.ICompileService, private $window: ng.IWindowService) {
}
restrict = "E";
link(scope, elm, attrs) {
var script = document.createElement("script");
script.src = "./scripts/vendor/scripts/engine.min.js";
elm.append(this.$compile(script)(scope));
var script2 = document.createElement("script");
script2.src = "./scripts//vendor/scripts/inline.js";
elm.append(this.$compile(script2)(scope));
}
}
export = Survey;
inline.js
(function(w, o) {
'use strict';
var Init = function() {
o.launch = function(e) {
var evt = e || window.event;
};
};
o.addEventListener(w, 'load', Init, false);
})(window, OOo);
任何幫助將不勝感激。 提前致謝 :)
由於它是javascript參考,因此無需編譯即可工作。刪除$ compile並進行檢查。 在此處查看更多詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.