私は簡単なAngularアプリケーションを作成しています。このアプリケーションには、navbarアイテムが選択されたことに基づいてビューとして他のHTMLページをロードするindex.htmlがあります。ただし、ルーティングが期待どおりに機能していません。 main.htmlビューは正常にロードされますが、他のビューはロードされません。また、URLは予期したものではありません。角度が適切にルーティングされていません。 URLはlocalhost:8081 /#!/#pageName
アイテムが選択された後にブラウザに表示されるURLは、localhost:8081/#!/#pageName
です。私はどこに '!'から来て、pageNameの前にハッシュがあってはいけません。私は期待していたURLはlocalhost:8081/#/pageName
app.jsです:
'use strict';
var app = angular.module('videoGamesApp', ['ngRoute']);
app.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.when('/rankedLists', {
templateUrl: 'views/rankedLists.html',
controller: 'RankedListsCtrl'
})
.when('/addGame', {
templateUrl: 'views/addGame.html',
controller: 'AddGameCtrl'
})
.when('/contact', {
templateUrl: 'views/contact.html',
controller: 'ContactCtrl'
})
.otherwise({
redirectTo: '/'
});
});
app.controller('MainCtrl', function($scope) {
$scope.message = 'THIS IS THE MAIN PAGE';
});
app.controller('RankedListsCtrl', function($scope) {
$scope.message = 'THIS IS THE RANKED LISTS PAGE';
});
app.controller('AddGameCtrl', function($scope) {
$scope.message = 'THIS IS THE ADD GAME PAGE';
});
app.controller('ContactCtrl', function($scope) {
$scope.message = 'THIS IS THE CONTACT PAGE';
});
のindex.html:
<!doctype html>
<html ng-app="videoGamesApp">
<head>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="styles/main.css">
<link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../bower_components/font-awesome/css/font-awesome.css">
</head>
<body ng-controller="MainCtrl">
<header>
<nav class="navbar navbar-inverse">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="/">GAMING </a>
</div>
<ul class="nav navbar-nav">
<li><a href="#"><i class="fa fa-home"></i> Home</a></li>
<li><a href="#rankedLists"><i class="fa fa-trophy"></i> Ranked Lists</a></li>
<li><a href="#addGame"><i class="fa fa-gamepad"></i> Add a Game</a></li>
<li><a href="#contact"><i class="fa fa-comment"></i> Contact</a></li>
</ul>
<div class="col-sm-3 col-md-3 pull-right">
<form class="navbar-form" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="sr ch-term">
<div class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</div>
</form>
</div>
</div>
</nav>
</header>
<div id="main">
<div ng-view=""></div>
</div>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="scripts/app.js"></script>
</body>
</html>
がなぜ他のビューがロードされていませんか?感嘆符はURLのどこから来ますか?ページ名の前にハッシュがあるのはなぜですか(私は2つではなく1つのハッシュが必要です)。
すばらしい説明をありがとう!あなたの最初の提案を使って作業しました。 – mwelk11