栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何加载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>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/633258.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号