Nếu bạn chỉ quan tâm về đường dẫn tương đối như: /dashboard
, /about
vv, Xem câu trả lời khác.
Nếu bạn muốn mở một đường dẫn tuyệt đối như: https://www.google.com
đến một tab mới, bạn phải biết rằng Vue Router KHÔNG dùng để xử lý chúng.
Tuy nhiên, họ dường như coi đó là một yêu cầu tính năng. # 1280 . Nhưng cho đến khi họ làm điều đó,
Đây là một mẹo nhỏ bạn có thể làm để xử lý các liên kết bên ngoài với vue-router.
- Đi tới cấu hình bộ định tuyến (có thể là
router.js
) và thêm mã này:
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()
}
Bây giờ, bất cứ khi nào chúng tôi xử lý các URL tuyệt đối, chúng tôi đều có giải pháp. Ví dụ để mở google đến một tab mới
this.$router.absUrl('https://www.google.com)
Hãy nhớ rằng bất cứ khi nào chúng ta mở một trang khác đến một tab mới, chúng ta PHẢI sử dụng noopener noreferrer
.
Đọc thêm tại đây
hoặc Đây