如何在AngularJS中隐藏哈希路由

3
我希望保持面包屑导航等哈希值的完整性,但我不想在 URL 中显示哈希值。有没有办法将哈希值保留在后台,但在 URL 中隐藏它?我已经进行了一些研究,并发现了一些答案,但它们都完全删除了哈希值。非常感谢您的帮助。

1
你需要配置 $locationProvider.html5Mode(true);请参考 https://dev59.com/5mUq5IYBdhLWcg3wHs2Y#14771362 - aorfevre
1
不能两全其美。如果不使用HTML5模式且没有哈希值,路由器无法确定路径。 - charlietfl
@aorfevre 谢谢,但这会去掉 SPA 的一部分吗? - Rites Bless
@RitesBless 一点也不,你只需要设置服务器来映射服务器路径到应用程序入口点,并遵循SEO和<base>指南。 - charlietfl
1个回答

1
angular.module('scotchy', [])

.config(function($routeProvider, $locationProvider) {

    $routeProvider
        .when('/', {
            templateUrl : 'partials/home.html',
            controller : mainController
        })
        .when('/about', {
            templateUrl : 'partials/about.html',
            controller : mainController
        })
        .when('/contact', {
            templateUrl : 'partials/contact.html',
            controller : mainController
        });

    // use the HTML5 History API
    $locationProvider.html5Mode(true);
});

阅读这篇博客,它应该包含你需要知道的所有内容。美化URL


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接