angularjs 1.6.0 (latest now) routes not working

前端 未结 5 581
北恋
北恋 2020-11-22 03:57

I was expecting to see this question on Stackoverflow but didn\'t. Apparently I\'m the only one having this problem that seems to me to be very common.

I have a basi

相关标签:
5条回答
  • 2020-11-22 04:04

    Try this one might Help...

    In html or view Page

     <body>
           <a href="#/Home.html">Home</a>
           <div ng-view></div>
     </body>
    

    In Script Page

    var app=angular
    .module('myModule',['ngRoute'])
    .config(function($routeProvider, $locationProvider) {
      $routeProvider
        .when('/Home', {
          templateUrl: 'FolderName/Home.html',
          controller: 'homeCtr'
        })
          $locationProvider.hashPrefix('');
         });
    
    0 讨论(0)
  • 2020-11-22 04:08
    app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
      $locationProvider.hashPrefix('');
      $routeProvider
        .when('/add-quote', {
          templateUrl: 'views/add_quote.html',
          controller: 'QuoteCtrl'
        })
        .otherwise({ redirectTo: '/' });
    }]);
    
    0 讨论(0)
  • 2020-11-22 04:16

    Simply include the ! into the href:

    <body>
        <a href="#!/add-quote">Add Quote</a>
        <div ng-view ></div>
    </body>
    
    0 讨论(0)
  • 2020-11-22 04:18

    Simply use hashbang #! in the href:

     <a href="#!/add-quote">Add Quote</a>
    

    Due to aa077e8, the default hash-prefix used for $location hash-bang URLs has changed from the empty string ('') to the bang ('!').

    If you actually want to have no hash-prefix, then you can restore the previous behavior by adding a configuration block to your application:

    appModule.config(['$locationProvider', function($locationProvider) {
      $locationProvider.hashPrefix('');
    }]);
    

    For more information, see

    • AngularJS GitHub Pull #14202 Changed default hashPrefix to '!'
    • AngularJS Guide - Migration - aa0077e8

    Sorry to get on my high horse but... How did this get released? This is massive, breaking bug. — @MiloTheGreat

    The breaking change as by #14202 should be reverted as the reference specification was already officially deprecated #15715

    I'm going to close this issue because we haven't got any feedback. Feel free to reopen this issue if you can provide new feedback.

    — https://github.com/angular/angular.js/issues/15715#issuecomment-281785369

    0 讨论(0)
  • 2020-11-22 04:21

    I couldn't get routing to work in 1.6.4 so I decided to use angular 1.5.11 and routing works fine although I needed to define all my routings in when(..) functions with trailing "/"

    If sticking to an older version of angular is an option for you then consider it since it may save your nerves...

    var app = angular.module("myApp", ["ngRoute"]);
    
    app.config(function($routeProvider) {
    $routeProvider
    .when("/layoutandviewbox", {
        templateUrl : "views/layout-and-viewbox.html"
    })
    .when("/basicshapes", {
        templateUrl : "views/basic-shapes.html"
    })
    .when("/advancedshapes", {
        templateUrl : "views/advanced-shapes.html"
    })
    .when("/groups", {
        templateUrl : "views/groups.html"
    })
    .when("/transformations", {
        templateUrl : "views/transformations.html"
    })
    .when("/effects", {
        templateUrl : "views/effects.html"
    })
    .when("/", {
        templateUrl : "views/basic-shapes.html"
    });
    });
    
    0 讨论(0)
提交回复
热议问题