如何加载ng-include模板和javascript文件

如何加载ng-include模板和javascript文件,第1张

如何加载ng-include模板和javascript文件

我在ng-include里面的加载脚本中找到了这个答案,不幸的是那里没有被接受的答案。因此,我在这里为它提供一些更多更新以供需要。

图书馆链接在这里

创建一个包含以下脚本的js文件并将其加载到主文件中。

(function (ng) {    'use strict';    var app = ng.module('ngLoadscript', []);    app.directive('script', function() {        return { restrict: 'E', scope: false, link: function(scope, elem, attr) {     if (attr.type=='text/javascript-lazy') {         var pre = elem.text();         var f = new Function(pre);         f();     } }        };    });}(angular));

并且,将 模块作为应用程序依赖项 加载

ngLoadscript

angular.module('myApp', [    'ngLoadscript'])

在Partial( activity.html)中

text/javascript-lazy
用作标记的
type
属性值,
script
而不是
text/javascript

<script type="text/javascript-lazy">    alert("Yup!");</script>

加载外部js需要做的更多事情:

我已经使用了以下来自ddrive的代码来加载脚本(在main.html中

function loadjscssfile(filename, filetype) {    if (filetype == "js") {        // if filename is a external Javascript file        var fileref = document.createElement('script');        fileref.setAttribute("type","text/javascript");        fileref.setAttribute("src", filename);    }    else if (filetype == "css") {        //if filename is an external CSS file        var fileref = document.createElement("link");        fileref.setAttribute("rel", "stylesheet");        fileref.setAttribute("type", "text/css")        fileref.setAttribute("href", filename)    }    if (typeof fileref != "undefined") {        document.getElementsByTagName("head")[0].appendChild(fileref)    }}

以及部分(activity.html):

<script type="text/javascript-lazy">    loadjscssfile("myjsfile.js", "js");</script>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存