У меня еще нет созданных ссылок, я просто изменяю их вручную в URL.Если вы говорите, что это не работает вручную, то почему он работает с режимом: 'hash'?Так что если роутер-линк работает так же, я должен его использовать, я думаю.Я не знал об этом
хорошо ... Я понял
если вы используете режим истории, вам придется использовать <route-link>
, потому что, каккак отмечалось выше,
В режиме истории HTML5 ссылка маршрутизатора будет перехватывать событие нажатия, чтобы браузер не пытался перезагрузить страницу.
При вводеновый URL, браузер загружает эту страницу, это способ работы браузера, и вы не можете обойти это.Фреймворк, однако, обрабатывает его по-другому, обновляя url и контент, но не на самом деле перенаправление (перезагрузка)
Причина, по которой это работает с hashbang, заключается в том, что броузер обрабатывает все послесимвол #
в качестве навигации по странице.То есть он не считает это перенаправлением.Хеш-символ традиционно использовался в HTML, чтобы разрешить переход к элементам на странице.
Например, about-us.html#contact
перенаправляет пользователя на страницу about и прокручивает к форме контакта.
современные js-фреймворки используют хеш для взлома этой навигации, не перенаправляя и используя контент после хеша для прохождения маршрутов.
Например, если у вас есть маршрут, такой как localhost:8080/#/about-us
, часть localhost:8080/#
это то же самое, что и localhost:8080/index.html#
, поэтому изменение чего-либо после того, как символ #
удерживает браузер на той же странице, а javascript (vue router) обрабатывает любые необходимые изменения.
Надеюсь, это очистит его.Кстати, я не использовал режим истории ни в одном из своих проектов.