javascript - 如何删除 '#' 登录 angular-ui-router URL

标签 javascript angularjs angular-ui-router

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

我有以下代码:

应用程序.js:

app.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
    .state('state', {
        url: '/state',
        templateUrl: 'templates/state.html',
        onEnter: function () {
            /*... code ...*/
        }
    })});

index.html:

<a href="#/state">STATE</a>

这行得通,但是当我从 <a> 中删除“#”时标记这不起作用。

如何删除 URL 中的“#”符号?

最佳答案

如果你想在没有哈希标签的情况下导航,你需要启用 HTML5Mode:

app.config(["$locationProvider", function($locationProvider) {
  $locationProvider.html5Mode(true);
}]);

您还需要通过将以下代码添加到 <head> 来告知 Angular 您应用的根 URL。您的 HTML 文件:

<base href="/">

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

关于javascript - 如何删除 '#' 登录 angular-ui-router URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22102815/

相关文章:

javascript - 在使用 Angular JS 进行模板化时使用辅助方法

javascript - 使用 angular.js 单击子菜单时无法激活父菜单

javascript - Angular 如何在我的情况下设置服务

c# - 弹出窗口数据变量传递

JavaScript 验证失败但表单仍提交

javascript - AngularJS - 动态 DOM 操作,无需在 Controller 中硬编码 dom id

javascript - 无法将 1 个函数中的变量用于另一个函数

javascript - $http AJAX 调用后范围未更新

javascript - Angular ui-router 提交表单并重定向页面

angular - 如何使子路线在 Angular 嵌套 route 占据整页