2013-09-15 6 views
2

Я хочу показать URL как «www.test.com/!#», потому что я использую $ locationProvider.hashPrefix («!»); но он показывает URL-адрес как «www.test.com/#!» , Мне нужно "!" перед хешем не после хэша.

Благодаря

var app = angular.module('app', []); 
app.config(function ($routeProvider, $locationProvider) { 
    $locationProvider.html5Mode(false); 
    $locationProvider.hashPrefix("!"); 
    $routeProvider.when('/', { 
     templateUrl: "app.html", 
     controller: "AppCtrl" 
    } 

    ) 
     .when('/Program', { 
     templateUrl: "detail1.html", 
     controller: "Redirect" 
    }) 
     .when('/Program/123456/channel/78458585', 

    { 
     templateUrl: "details.html", 
     controller: "Detail" 
    }); 
}); 



app.controller("AppCtrl", function ($scope) { 

}); 

app.controller("Detail", function ($scope, $location) { 

}); 

app.controller("Redirect", function ($scope, $location) { 
    $location.path("/Program/123456/channel/78458585") 
}); 

ответ

5

Если вы хотите в URL с ! до начала идентификатора фрагмента, то вам необходимо поместить его в URL, чтобы начать с, а не пытаться сделать это с Угловым.

http://www.example.com/#foo и http://www.example.com/#!foo различные части этой же страницы.

Но http://www.example.com/#foo и http://www.example.com/!#foo - это разные страницы в целом.

+0

он там любой waty, чтобы сделать это с angularjs .. $ locationProvider.hashPrefix ("!") По имени должен был бы добавить его перед hash.why он появляется после hash. – user2534381

+3

Нет, нет. – Quentin