バージョン
Vue.js 2.6.10
概要
pushを使えば遷移できるが、今回はパスだけ取得したいケース。
resolveを使えばパスを取得できる。URLパラメータのある場合もOK。
コード
◾️router.js
{ path: "/user/list", name: "userlist", component: () => import("./views/user/UserList.vue") }, { path: "/user/new/:userid", name: "usernew", component: () => import("./views/user/new.vue") },
◾️hoge.vue
<script> export default { methods: { getPath : function () { let path_a = this.$router.resolve({ name: "userlist" }).href; // =>/user/list let path_b = this.$router.resolve({ name: "usernew", params: {userid: "abc"} }).href; // =>/user/new/abc // フルパスを取得したい場合 let mail_path = location.origin + path_b ; } } }; </script>
注意事項:URLパラメータに空値を渡せない(空値を渡すと「/」が返ってくる)