除非刷新,否则 AngularJS 不会运行控制器
AngularJS won't run controller unless refreshed
非常简单(下面的代码)。我有两个html页面,test.htm和ang.htm。我从测试开始.htm只有一个指向 ang.htm 页面的超链接。ang.htm 包含角度 js,它有一个简单的控制器来执行 Hello World。我单击超链接以导航到 ang.htm。但是,我需要刷新 ang.htm 页面才能运行角度代码。为什么?
测试.htm
<html>
<body>
<a href="http://localhost/ang.htm">Click</a>
</body>
</html>
昂.htm
<html>
<body ng-app="testApp" ng-controller="testController">
{{hello}}
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js"></script>
<script>
angular.module("testApp", []);
angular.module( "testApp" ).controller( "testController", function( $scope )
{
$scope.hello = "Hello world";
});
</script>
</body>
</html>
我只根据文件结构将 localhost/ang.htm 更改为 /ang.htm。它按预期工作。
使用Firebug进行调试对您来说将非常有帮助。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<a href="/ang.htm">Click</a>
</body>
</html>
你的代码有效,小提琴在说话:http://jsfiddle.net/m7beqvaf/
{{hello}}
令牌可能不会在页面显示加载后立即替换,但仅此而已。导航到ang.htm
不是问题。
请注意,我在小提琴中复制/粘贴了您的ang.htm
内容:
<body ng-app="testApp" ng-controller="testController">
{{hello}}
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js"></script>
<script>
angular.module("testApp", []);
angular.module( "testApp" ).controller( "testController", function( $scope )
{
$scope.hello = "Hello world";
});
</script>
</body>
相关文章:
- 在子控制器中触发时,Ionic AngularJS父动画未正确运行
- 在使用nodejs运行服务器端时,无法加载角度控制器文件
- EmberJS:将输入值绑定到控制器属性,并在更改时运行过滤器
- 如何在控制器外部和视图内在 AngularJs 中运行 jQuery
- AngularJS重新运行控制器
- 在控制台中列出正在运行的控制器实例及其 this 变量
- 在页面呈现之前运行 JavaScript 和控制器操作
- 在一个控制器 ui 路由器中的所有 $state.go() 事件之前运行 check
- 角度控制器功能未运行
- 除非刷新,否则 AngularJS 不会运行控制器
- 如何模拟在控制器初始化时运行的函数
- 只有在 AngularJS 中初始化完成后才运行控制器
- 单击按钮时运行控制器方法MVC4 C#
- 角度函数未在控制器中运行或绑定到$scope变量
- 推迟在应用程序运行angularjs上创建控制器/服务
- 路由加载时运行成员控制器函数以设置控制复选框的属性
- 如何使用视图ng-model的不同参数再次运行控制器功能
- AngularJS -如何从其他控制器中运行控制器
- Angularjs指令第二次运行控制器
- 流星JS页面分页.set()重新运行控制器