Exclamation mark after hash (#!) in angularjs app

前端 未结 3 762
忘了有多久
忘了有多久 2020-12-02 22:24

I have just noticed that I have an exclamation mark after a hash (#!) in all of my routes. I\'m not sure how and why I got them because earlier today I didn\'t have them.

相关标签:
3条回答
  • 2020-12-02 23:04

    Modify these 2 lines :

      .config(function ($routeProvider) {
    $routeProvider
    

    to be :

        .config(function ($routeProvider,$locationProvider) {
        $locationProvider.hashPrefix('');
        $routeProvider
    

    Credit should go to : https://stackoverflow.com/a/41223197/1564146

    0 讨论(0)
  • 2020-12-02 23:18

    You probably updated angular version from 1.5 to 1.6, because on 1.6, the angular team decided to change the default $location hash-prefix to '!'. Like @Skrew suggested, you can change that to '' with $locationProvider.hashPrefix('');

    Here you can read about that.

    0 讨论(0)
  • 2020-12-02 23:21

    Your function is missing a locationProvider and needs to specify html5Mode for the locationProvider. See https://docs.angularjs.org/api/ng/provider/$locationProvider. Instead of:

    .config(function ($routeProvider) { $routeProvider .when('/', {

    try:

    .config(function ($locationProvider, $routeProvider) { $locationProvider.html5Mode({ enabled:true }); $routeProvider .when('/',{

    By default you also need to specify a base tag <base href="/"> in your index.html file.

    0 讨论(0)
提交回复
热议问题