我有一个带有Angular-UI框架路由的AngularJS应用程序。我有一些问题,当我访问forum.html页面时,我会得到
mywebsite/#/home
在标题上,我希望URL为
mywebsite/#/forum
另一个问题如何摆脱URL标题中的哈希符号(#(
app.config(function ($stateProvider,$urlRouterProvider,$locationProvider) {
$stateProvider.state("home",{
url:"home",
views:{
'main':{templateUrl:"index.html"}
}
})
.state("forum",{
url:"forum",
views:{
'main3':{templateUrl:"forum.html"}
}
});
$locationProvider.hashPrefix('');
$urlRouterProvider.otherwise("/home");
});
<div class="container" style="margin-top: 60px">
<div ui-view="main"></div>
<div ui-view="main3"></div>
</div>
forum.html
<div>
<div class="tab-content">
<div ui-view="main3"></div>
forum
</div>
</div>
url,请更改:
url:"home"
url:"forum"
to:
url:"/home"
url:"/forum"
要删除#标志,请使用以下代码:
app.config(["$locationProvider", function($locationProvider) {
$locationProvider.html5Mode(true);
}]);
并添加以下内容:
<head>
...
<base href="/">
</head>
根据您的评论,这里附有最低版本的代码:
app.js
var app = angular.module("app", ['ui.router']);
app.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
var homeState = {
name: 'home',
views: {
'main': {
template: "<p> home</p>"
}
}
}
var storeState = {
name: 'store',
views: {
'main': {
template: "<p> Store</p>"
}
}
}
$stateProvider.state(homeState);
$stateProvider.state(storeState);
$urlRouterProvider.otherwise("/home");
});
index.html
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>
<script src="app.js"></script>
<style>.active { color: red; font-weight: bold; }</style>
<base href="/">
</head>
<body data-spy="scroll" data-offset="53" ng-app="app" style="background-image:url('silver.jpg')">
<nav class="navbar navbar-inverse navbar-fixed-top" style="background-color:#84b1f9;">
<div class="navbar-header" style="box-shadow: 0px 0px 3px white">
<button class="navbar-toggle" data-toggle="collapse" data-target="#c1">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="c1">
<ul class="nav navbar-nav">
<li><a ui-sref="home" ui-sref-active="active" style="background-color:#84b1f9; color:black;" >Home</a></li>
<li><a ui-sref="store" ui-sref-active="active" style="color:black;">Store</a></li>
</ul>
<p class="navbar-text" style="color: #ec971f"> </p>
</div>
</nav>
<div ui-view="main"></div>
</body>
</html>