Якщо ви зацікавлені тільки на відносні шляхи , як: /dashboard
, і /about
т.д., інші відповіді.
Якщо ви хочете відкрити абсолютний шлях, наприклад: https://www.google.com
до нової вкладки, ви повинні знати, що маршрутизатор Vue НЕ призначений для їх обробки.
Однак вони, схоже, розглядають це як запит функції. # 1280 . Але поки вони цього не зроблять,
Ось невелика хитрість, яку ви можете зробити, щоб обробляти зовнішні посилання за допомогою vue-router.
- Перейдіть до конфігурації маршрутизатора (ймовірно
router.js
) і додайте цей код:
Router.prototype.absUrl = function(url, newTab = true) {
const link = document.createElement('a')
link.href = url
link.target = newTab ? '_blank' : ''
if (newTab) link.rel = 'noopener noreferrer'
link.click()
}
Тепер, коли ми маємо справу з абсолютними URL-адресами, ми маємо рішення. Наприклад, щоб відкрити Google на новій вкладці
this.$router.absUrl('https://www.google.com)
Пам'ятайте, що кожного разу, коли ми відкриваємо іншу сторінку на новій вкладці, МИ ПОВИННІ використовувати noopener noreferrer
.
Детальніше читайте тут
або тут