javascript - 如果在 AngularJS 中允许,则包含 javascript 外部文件

标签 javascript html angularjs

我需要为我的 html 页面定义仅当变量 $scope.jsallowed 设置为 true 时加载 javascript 外部文件,所以我尝试了这段代码: (我的页面是基于 AngularJS 的) 在 HTML 中:

<script src="assets/js/slider.min.js" data-ng-if="jsallowed"></script>

在 JS 中:

$scope.jsallowed = false;

(请注意,我设置了应用程序和 Controller ......但我只是在此处包含了您需要的代码。) 但问题是,我的 javascript 文件尚未加载。虽然它不应该。在将 jsallowed 变量设置为 true 之前,如何改进我的代码以防止加载它?

最佳答案

不幸的是,data-ng-if="jsallowed"无法满足您的需求。您可以做的是直接在您的 JavaScript 文件中异步加载脚本,如下所示:

<script>
var resource = document.createElement('script'); 
resource.src = "assets/js/slider.min.js";
var script = document.getElementsByTagName('script')[0];
script.parentNode.insertBefore(resource, script);
</script>

关于javascript - 如果在 AngularJS 中允许,则包含 javascript 外部文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39445555/

相关文章:

javascript - 子级不触发父级函数

html - CSS:图像标题具有固定高度

javascript - 根据结果​​的表行颜色

javascript - 幻灯片效果不工作

javascript - react 多个回调不更新本地状态

javascript - 点击事件重定向到特定位置不适用于 Internet Explorer,但适用于 Mozilla 和 Chrome

javascript - 如何使用 AngularJS 在单击正文内的任意位置时显示弹出窗口?

javascript - AngularJS 服务和 promise 最佳实践

javascript - 为IE优化一个简单的double for循环

javascript - 解析器错误 : SyntaxError: Unexpected token less than sign