HTML5mode 不会删除哈希邦



我有一个gulp-connect服务器正在运行,我想从我在AngularJS项目中使用的routeProvider中删除hashbangs。

我的app.js:中有这个

//Setting HTML5 Location Mode
companiesApp.config(['$locationProvider',
    function ($locationProvider) {
        $locationProvider.hashPrefix('!');
        $locationProvider.html5Mode(true);
    }
]);

我知道,如果我删除hashPrefix,它将仍然适用于http://www.example.com/#example-uri,但我如何完全消除它。html5Mode(true(不应该这么做吗?

是的,$locationProvider.html5Mode(true);应该这样做。

但是,为了能够直接从浏览器访问页面,您应该配置服务器将请求重定向到索引页面,然后在内部调用partial。请在angular ui文档中查看此文档,了解如何配置文档。

如果在您的场景中有用,请尝试此操作

Add仅具有类似$locationProvider.hashPrefix(''(的前缀以删除Bang前缀。。。

var app = angular.module('app', []);
app.config(['$routeProvider', '$locationProvider', 
    function ($routeProvider, $locationProvider)
    {
        $routeProvider.when('/', {
            templateUrl: "app1.html",
            controller: "App1Ctrl"
        })
        .when('/Program1', {
            templateUrl: "app2.html",
            controller: "App2Ctrl"
        });
        $locationProvider.hashPrefix("");
    }
]);

首先在依赖项中添加$routeProvider,然后添加最后一个hashPrefix为null删除thabang前缀。

最新更新