我有一些特定于视图的脚本。但是,当angularjs加载视图时,该脚本似乎没有执行。
Index.html
<html>
<body ng-app="adminApp">
<div ng-view=""></div>
<script src="bower_components/angular/angular.js"></script>
<script src="scripts/app.js"></script>
<script src="scripts/controllers/main.js"></script>
</body>
</html>
Main.html- 在ng-view下加载
hello world
<script>
alert('Hello, John!')
</script>
在此示例中,当页面加载时,我看到网站上印有一个基本的hello世界。但是,我没有弹出任何消息说“你好,约翰”。
知道为什么我无法加载特定于某个视图的脚本吗?
额外信息 app.js
'use strict';
angular.module('adminApp', [])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.otherwise({
redirectTo: '/'
});
});
控制器/main.js
'use strict';
angular.module('adminApp')
.controller('MainCtrl', function ($scope) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
});
这就是 jqLite的 工作方式。如果要评估模板中的脚本,请在AngularJS之前添加 jQuery
。如果包含jQuery,则将评估脚本。尝试删除jQuery,您会看到最初观察到的行为。
更新 :由于有人要求在评论中进行详细说明,因此这里是:
当路由匹配时,ngView
使用jqLite的(或jQuery的,如果已加载)html()
方法设置元素的内容(ngView
声明为on)。换句话说,ngView.link()
执行以下操作:
$element.html(template)
因此,归结为如何html()
在jqLite和jQuery中实现。jqLite使用native
innerHTML
属性,该属性仅设置内容,但不评估脚本。另一方面,jQuery解析出所有脚本标签并执行它们(通过在页面上构造和添加脚本DOM元素)。
问题内容: 嘿,我正在建立一个有角度的网页。问题是已经有一些东西没有角度了,我也必须包括它们 问题是这样的。 我的main.html中有这样的内容: 我的partial.html有这样的东西 我的partial.js与angularjs无关。nginclude工作正常,我可以看到html,但根本看不到正在加载的javascript文件。我知道如何使用firebug / chrome-dev-too
问题内容: 我已经工作了几个小时,以使我的链接可以通过AngularJS应用点击进入不同的视图。 但是,我似乎只能在Plunker上在线使用该功能。 我一直在尝试在本地计算机上测试点击功能,并且ng-view似乎未加载。当我下载我知道正确的Plunker代码时,因为它可以在Plunker上运行,所以ng- view在本地托管后似乎停止工作。 我对ng-include和我定义为自己的HTML标签的指
问题内容: 我有2个html页面,以及这两者都是“插入”到通过在URL dependending 属性和路由器供应商,作为我的AngularJS应用程序的一部分。 可以在AngularJS主页 的“连接后端” 下找到一个示例。 我的问题 :有没有办法动画化和之间的过渡? 问题答案: Angularjs 1.1.4现在引入了该指令以帮助动画化不同的元素,尤其是ng- view。 您也可以观看有关此新
问题内容: 我正在尝试在应用程序中使用AngularJS,并在某种程度上取得了成功。 我能够获取数据并将其显示给用户。我有一个按钮,我想通过该按钮发布DELETE请求。下面是我的代码。 这是获取信息并将其显示给用户的功能。 数据已获取并正确显示。 但是,单击删除按钮后,不会触发其中的代码。在GoogleChrome浏览器的开发人员工具中,我可以看到为代码生成了有效值,但未触发代码。从我尝试去掉花括
尝试运行我的XML时出现以下错误。看起来它有问题加载类,但我有正确的类路径。 org.testng.testngexception:org.testng.testng.initializeSuitesandjarFile(testng.java:340)(org.testng.remote.abstractremotetestng.run(abstractremotetestng.java:109
问题内容: 我对所有页面都有一个通用模板,其中包含一个菜单栏,它位于.bar的外面。我位于其中一个页面的内部,我想将输入数据绑定到此模板区域(该区域位于与输入页面不同的控制器下) )。我的意思是当我输入名称时,该名称将出现在模板区域。可以吗?这是the **** 问题答案: 通过遵循始终具有“’ ”的“最佳实践”,可以很容易地避免使用基元出现此问题。在您的ng模型中 -观看3分钟值得。Misko演