我正在尝试在自定义角度指令中加载脚本。现在,它只是在DOM中添加脚本标记,但它没有加载它。
angular.module('myApp')
.directive('rjHeader', function () {
return {
restrict: 'E',
template : function(e,a){
return '<script type="text/javascript" charset="utf-8" src="https://my.web.com/path/' + a.locale + '/some.js" ></script>';
}
};
});
并在html中
<div rj-Header locale="en_US"></div>
在浏览器中打开页面时,它会正确添加目标脚本。
<script type="text/javascript" charset="utf-8" src="https://my.web.com/path/en_US/some.js" ></script>
但是这并没有实际加载这个.js文件。如果我简单地将此行粘贴到我的html,那么它按预期工作。如何使用自定义角度指令注入脚本?
答案 0 :(得分:3)
这里似乎有点不对,但如果你真的想这样做,你可以在你的指令元素上附加一个脚本标记:
app.directive('loadDirective', function() {
return {
restrict: 'E',
link: function($scope, $el) {
var script = document.createElement('script');
script.src = '//cdnjs.cloudflare.com/ajax/libs/emojione/1.3.0/lib/js/emojione.min.js'
$el.append(script);
}
}
});