【发布时间】:2015-02-27 15:22:14
【问题描述】:
我正在为具有 angular 和 angular-ui-router 的应用程序设置脚手架。我让它工作了,但它似乎在我的 url 中添加了一个哈希(我在 localhost 上运行 dev)localhost:9000/#/test。当我登陆主页时,它只是 localhost:9000 并且它仍然提供主视图内容。如果可能的话,我想摆脱散列。
这是我的设置:
在正文中的 index.html 中,我只有导航,然后是 ui-view:
<div class="row">
<ul class="nav navbar-nav">
<li><a ui-sref="index">Home</a></li>
<li><a ui-sref="test">Test</a></li>
</ul>
</div>
<div ui-view=""></div>
在我的 app.js 中我只有:
angular
.module('playApp', [
'ui.router'
])
.config(function($stateProvider) {
$stateProvider
.state('index', {
url: '',
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.state('test', {
url: '/test',
templateUrl: 'views/test.html',
controller: 'testCtrl'
});
});
所以当我登陆时,这很好,但是当我开始使用我设置的导航时,它会将哈希添加到 url,如果可能的话,我宁愿不使用它们。谢谢!
【问题讨论】:
-
检查 $locationProvider 的 html5Mode([mode]) - docs.angularjs.org/api/ng/provider/$locationProvider
-
包括
$locationProvider和做$locationProvider.html5Mode(true);
标签: javascript angularjs angular-ui-router