我在Angular(1.3.14)中配置路由时遇到问题。我已经看过很多例如this one和this one以及其他一些关于SO的答案,据我所知,这是正确的设置,但当我加载它时浏览器,没有任何加载到屏幕上。没有控制台错误,我已经通过注释$ locationProvider行(将哈希值添加回网址)验证了Angular正在运行。
目前代码:
var app = angular.module('app', [
'ngRoute'
]);
app.config([
'$routeProvider',
'$locationProvider',
function($routeProvider, $locationProvider) {
$routeProvider.
when('/', {
templateURL: 'templates/home.html',
controller: 'HomeController'
}).
otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true);
}]);
app.controller('HomeController', function($scope) {
console.log("hi");
});
<div>
HELLO
</div>
<!DOCTYPE html>
<html ng-app="app">
<head>
<base href="/">
<link rel="stylesheet" type="text/css" href="stylesheets/style.min.css"/>
</head>
<body>
<div ng-view></div>
<script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="js/app.js"></script>
</body>
</html>
我也试过改变我宣布应用程序的方式。我尝试将ng-app标签添加到正文中的div,我尝试使用ng-view指令,但这些都不会改变结果。所有链接的资源都会加载,我可以在开发工具中查看它们。我也可以直接导航到模板文件,它加载得很好。我想我错过了一些简单的东西,但我无法弄清楚它是什么。
答案 0 :(得分:5)
应该是templateUrl
,而不是templateURL
。