我使用以下代码将模板包括到我的主文件中。
<p ng-include=" 'activity.html' "></p>
我的 activity.html 像这样,
<script type="text/javascript" src="myjsfile.js"></script>
<p>Activity page contents</p>
但是javascript并没有随模板一起加载 。
我在SO中发现了一些与此问题相关的问题,但找不到有效的解决方案。答案之一是在主文件中的angularjs上方加载jquery,以便脚本标记将被接受。但没有发现它起作用。
我在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 code = elem.text();
var f = new Function(code);
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>
本文向大家介绍angular之ng-template模板加载,包括了angular之ng-template模板加载的使用技巧和注意事项,需要的朋友参考一下 本文介绍了angular之ng-template模板加载,分享给大家,具体如下: html5中的template template标签的含义:HTML <template>元素是一种用于保存客户端内容的机制,该内容在页面加载时是不可见的,但可以
问题内容: 刚达新到角。是否可以用包含的模板的内容 替换 ng-include节点?例如,使用: 生成的html是: 但是我想要的是: 问题答案: 我遇到了同样的问题,但仍然希望ng- include的功能包括动态模板。我正在构建一个动态的Bootstrap工具栏,我需要更清洁的标记才能正确应用CSS样式。 这是我为感兴趣的人提供的解决方案: HTML: 自定义指令: 如果在上面的示例中使用了此解
问题内容: 我试图用BottlePy返回一个html模板。这很好。但是,如果我在tpl文件中插入这样的javascript文件: 我收到404错误。 (无法加载资源:服务器响应状态为404(未找到)) 有谁知道如何解决这个问题? 这是我的脚本文件: 那就是模板文件,位于“ ./views”子文件夹中。 也许是开发服务器在其中查找我的js文件的“ rootPath / js / main.js”?
问题内容: 我正在尝试呈现一段动态路线上可用的html,该路线是通过调用获取的,它返回了一段html, 仅举一个例子,我尝试加载此html部分: 我做了一个小提琴,以模拟问题,但是为了简单起见,我省去了http调用,只是将html添加到了作用域中的字符串中。 控制器是: 页面html是这样的: 问题在于,它不会将字符串添加到html文件(ng-include)中,但是会明显地对由该字符串组成的ur
问题内容: 嘿,我正在建立一个有角度的网页。问题是已经有一些东西没有角度了,我也必须包括它们 问题是这样的。 我的main.html中有这样的内容: 我的partial.html有这样的东西 我的partial.js与angularjs无关。nginclude工作正常,我可以看到html,但根本看不到正在加载的javascript文件。我知道如何使用firebug / chrome-dev-too
问题内容: 什么是检测html加载结束的最佳方法?我想编写一些在加载完成后运行的代码。 问题答案: 有两种方法可以检测何时完成加载,具体取决于您的需要: 1)通过属性- 用于内联表达式。例如: 2)通过事件的是发射-为应用范围的处理。例如: 完成内容加载后