У меня три страницы. Я хочу загрузить их в ng-view
. Когда пользователь нажимает на страницу, соответствующая страница должна загружаться. Я установил routerProvider
но это не сработало.
//HTML
<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="learningApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
ul li{ float: left; list-style: none; margin: 0 10px}
</style>
</head>
<body>
<nav>
<ul><li><a href="#home">home</a></li><li><a href="#about">about</a></li><li><a href="#service">service</a></li></ul>
</nav>
<div ng-view></div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.min.js"></script>
<script type="text/javascript" src="js/app.js"></script>
</body>
</html>
//Код приложения.js
(function(){
var app= angular.module('learningApp',['ngRoute'])
app.config(['$routeProvider',function($routeProvider){
$routeProvider.
when('/home', {
templateUrl: 'home.html'
}).
when('/aboutus', {
templateUrl: 'aboutus.html'
}).
when('/service',{
templateUrl:'service.html'
}).
otherwise({
redirectTo: '/home'
});
}])
})
Все выглядит хорошо, но у вас проблемы с вашими якорь-href's.
Изменить:
<nav>
<ul><li><a href="#home">home</a></li><li><a href="#about">about</a></li><li><a href="#service">service</a></li></ul>
</nav>
Для того, чтобы:
<nav>
<ul><li><a href="#/home">home</a></li><li><a href="#/about">about</a></li><li><a href="#/service">service</a></li></ul>
</nav>
Если нет ошибок консоли, я думаю, вам нужно использовать тег, как, a
обратите внимание на дополнительные /
после #
<a href="#/home">home</a>
<a href="#/about">about</a>