【发布时间】:2014-09-11 14:38:19
【问题描述】:
我刚刚开始将 AngularJS 用于我正在考虑整合的新应用程序,但在使用路由和视图时遇到了问题。
我已将这个示例精简到最低限度,但问题仍然存在。这个例子所做的只是访问服务器并返回 index.html 页面,然后获取 Angular 等。
index.html
<!doctype html>
<html lang="en" ng-app="main">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" src="css/style.css" />
<script type="text/javascript" src="js/ext/angular.min.js"></script>
<script type="text/javascript" src="js/ext/angular-route.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="js/test.js"></script>
<base href="/ui/">
</head>
<body>
<div ng-view></div>
</body>
</html>
main.js
(function() {
var app = angular.module('main', ['ngRoute', 'test']);
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/test', {
templateUrl: 'html/test.html',
controller: 'TestCtrl'
})
.otherwise({
redirectTo: '/test'
});
$locationProvider.html5Mode(true);
}]);
})();
test.js
(function() {
var app = angular.module('test', []);
// get hierarchy
app.controller('TestCtrl', ['$scope', function($scope) {
alert('here');
}]);
})();
test.html
<div>FooBar!</div>
警报被无限触发,但我只是不知道为什么。我见过其他例子,其中 ng-view 和 routing 的使用方式似乎完全相同,所以我不确定我做错了什么......
【问题讨论】:
-
你在控制台有什么信息吗(比如 html/test.html not found)?您也可以尝试删除
并将您的 html 放在根目录中吗?最后一件事:将您的重定向路由到 /test 的其他内容。 -
我将把它放在小提琴中。看看会发生什么,看不到任何明显的因素。
标签: javascript angularjs infinite-loop