繁体   English   中英

如何在AngularJs指令中包含js文件?

[英]How to include js files in AngularJs directive?

我想在我的指令中加载js文件。 我在tinyMCE 4和Rails产品中遇到了一些问题。 tinymce.js需要theme.js,所以我不能同时编译它们。 我只想在需要指令时调用这些js文件。

我猜您可以有一个指令,该指令在渲染之前检查全局脚本是否已加载,如果没有,则将源脚本放入指令的模板中。 如果存在时序或渲染问题,则可以使用嵌套方法或类似方法来实现,但是……不确定是否值得进行黑客攻击。

也许您可以使用与https://github.com/dotJEM/angular-code-directives/blob/master/src/script.ts中相同的方法,这是一个非常基本的脚本加载器服务。

/// <reference path="_references.d.ts" />

interface IScriptService {
    (url:string);
}

angular.module('dotjem.directives.code').service('$script', [<any>
    function ():IScriptService {
        var loaded = {};
        return function (url:string) {
            if (!(url in loaded)) {
                $.ajax(url, {
                    dataType: "script",
                    success: () => {
                        loaded[url] = url;
                    },
                    async: false,
                    cache: true
                });
            }
        };
    }]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM