Проблема маршрутизации AngularJs (1.x) в ngRoute? - PullRequest
0 голосов
/ 27 октября 2018

Это ссылка на отели

<ul>
  <li ng-repeat="hotel in vm.hotels">
     <a ng-href="#/hotel/{{ hotel._id }}">{{ hotel.name }}</a>
  </li>
</ul>

и маршрут такой

angular.module('myApp', ['ngRoute']).config(config);

function config($routeProvider) {
  $routeProvider
    .when('/', {
      templateUrl: 'angular-app/hotel-list/hotels.html',
      controller: HotelsController,
      controllerAs: 'vm'
    })
    .when('/hotel/:id', {
      templateUrl: 'angular-app/hotel-display/hotel.html',
      controller: HotelController,
      controllerAs: 'vm'
    });
}

в консоли нет ошибок, я поставил <div ng-view></div> в правильном месте но это не дает то, что я хотел. Любые исправления, пожалуйста? Спасибо!

1 Ответ

0 голосов
/ 31 декабря 2018

При AngularJS V1.6 стандартный хеш-префикс, используемый для $location URL-адресов хеш-взрыва, изменен с пустой строки ('') на взрыв ('!').Если ваше приложение не использует режим HTML5 или работает в браузерах, которые не поддерживают режим HTML5, и вы не указали свой собственный хэш-префикс, то URL-адреса на стороне клиента теперь будут содержать префикс !.Например, вместо mydomain.com/#/a/b/c URL-адрес станет mydomain.com/#!/a/b/c

<ul>
  <li ng-repeat="hotel in vm.hotels">
     ̶<̶a̶ ̶n̶g̶-̶h̶r̶e̶f̶=̶"̶#̶/̶h̶o̶t̶e̶l̶/̶{̶{̶ ̶h̶o̶t̶e̶l̶.̶_̶i̶d̶ ̶}̶}̶"̶>̶{̶{̶ ̶h̶o̶t̶e̶l̶.̶n̶a̶m̶e̶ ̶}̶}̶<̶/̶a̶>̶
     <a ng-href="#!/hotel/{{ hotel._id }}">{{ hotel.name }}</a>
  </li>
</ul>

Для получения дополнительной информации см. Руководство разработчика AngularJS - Миграция в V1.6 - $ location

...