Sometimes, we want to open a link in a new tab with Vue Router.
In this article, we’ll look at how to open a link in a new tab with Vue Router.
How to open a link in a new tab with Vue Router?
To open a link in a new tab with Vue Router, we can use the this.$router.resolve
method to get the full object with the URL of a given route.
Then we call window.open
with the route object’s href
property URL and '_blank'
to open the URL in the new tab.
For instance, in our component method or hook, we write
const routeData = this.$router.resolve({
name: "routeName",
query: { data: "someData" },
});
window.open(routeData.href, "_blank");
to call this.$router.resolve
with an object that has the route name
and query
query parameters object.
resolve
returns an object with the href
property that has the full URL of the route.
Then we call window.open
with routeData.href
and '_blank'
to open the routeData.href
URL in a new tab.
Conclusion
To open a link in a new tab with Vue Router, we can use the this.$router.resolve
method to get the full object with the URL of a given route.
Then we call window.open
with the route object’s href
property URL and '_blank'
to open the URL in the new tab.