Nie*_*ala 75 javascript angularjs angular-ui-router
我正在使用angular-ui-router库,我遇到了URL问题.
我有以下代码:
app.js:
app.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('state', {
url: '/state',
templateUrl: 'templates/state.html',
onEnter: function () {
/*... code ...*/
}
})});
Run Code Online (Sandbox Code Playgroud)
index.html的:
<a href="#/state">STATE</a>
Run Code Online (Sandbox Code Playgroud)
这有效,但是当我从<a>
标签中删除"#"时,这不起作用.
如何从网址中删除"#"符号?
Sim*_*ger 115
如果您想要没有哈希标记的导航,则需要启用HTML5Mode:
app.config(["$locationProvider", function($locationProvider) {
$locationProvider.html5Mode(true);
}]);
Run Code Online (Sandbox Code Playgroud)
您还需要通过将以下代码添加到<head>
HTML文件中来告知angular应用程序的根URL :
<base href="/">
Run Code Online (Sandbox Code Playgroud)
请注意,对HTML5模式的支持取决于浏览器.对于那些不支持History API的人,Angular将回退到hashbang.
如果您使用的是Angular 1.6+,则还需要hashPrefix
从URL中删除:
appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix(''); // by default '!'
$locationProvider.html5Mode(true);
}]);
Run Code Online (Sandbox Code Playgroud)
不要忘记改变基地:
<head>
...
<base href="/">
</head>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
51683 次 |
最近记录: |