首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除angular-ui-router URL中的'#‘符号

如何删除angular-ui-router URL中的'#‘符号
EN

Stack Overflow用户
提问于 2014-03-01 02:16:03
回答 1查看 53.7K关注 0票数 81

我正在使用angular-ui-router库,但我在URL方面遇到了问题。

我有以下代码:

app.js:

代码语言:javascript
复制
app.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
    .state('state', {
        url: '/state',
        templateUrl: 'templates/state.html',
        onEnter: function () {
            /*... code ...*/
        }
    })});

index.html:

代码语言:javascript
复制
<a href="#/state">STATE</a>

这是有效的,但是当我从<a>标签中删除'#‘时,它就不起作用了。

如何从URL中删除'#‘符号?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-01 02:20:41

如果您希望导航不使用散列标签,则需要启用HTML5Mode:

代码语言:javascript
复制
app.config(["$locationProvider", function($locationProvider) {
  $locationProvider.html5Mode(true);
}]);

您还需要通过将以下代码添加到您的HTML文件的<head>中来告诉angular应用程序的根地址:

代码语言:javascript
复制
<base href="/">

请注意,对HTML5模式的支持取决于浏览器。对于那些不支持History API的用户,可以使用Angular will fallback to hashbang

票数 121
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22102815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档