0

При выполнении углового учебника «Путешествие по Геросу» я заметил, что их спа-маршрутизатор работает без символа конечного хэша (#) в URL-адресе (например, например, маршрутизатор kendo spa).Как спа-маршрутизация углового2 работает без символа хэша в URL-адресе?

Как угловое2 заставить работать без браузера выполнять полную перезагрузку страницы?

+0

Возможный дубликат [Изменить URL без перезагрузки страницы] (http://stackoverflow.com/questions/824349/modify-the- url-without-reloading-the-page) – estus

+0

@estus, а не дубликат. Я думаю, потому что я спрашиваю, как это работает специально для рамки angular2. Здесь вы смешиваете темы. –

+0

Вопрос звучит так, будто вы не знакомы с концепцией API истории и pushState. В двойном вопросе подробно объясняется, как это делается в простой JS. И вы можете быть уверены, что Angular 2 делает то же самое под капотом. – estus

ответ

0

Он использует современные функции браузера, чтобы сделать трюк.

читать официальные угловые документы.

https://angular.io/docs/ts/latest/guide/router.html#!#browser-url-styles

Приложение: LocationStrategy и браузер URL стили

Когда маршрутизатор переходит к новому вида компонента, он обновляет местоположение и историю браузера с URL для этой точки зрения. Это строго локальный URL. Браузер не должен отправлять этот URL-адрес на сервер и не должен перезагружать страницу.

Современные браузеры HTML 5 поддерживают history.pushState, метод, который изменяет местоположение и историю браузера, без запроса запроса на страницу сервера. Маршрутизатор может составлять «естественный» URL-адрес, который неотличим от того, который в противном случае требовал бы загрузки страницы.

Вот Кризисный центр URL в этом стиле «HTML 5 PushState»:

 Смежные вопросы

  • Нет связанных вопросов^_^