この記事は 2021 年 01 月 29 日に投稿しました。
リンク
1. はじめに
こんにちは、iOS のエディタアプリPWEditorの開発者の二俣です。 今回は業務で使用しているVue Routerで動的マッチングする方法についてです。
2. Vue Router で動的マッチングする
Vue Routerで動的マッチングする方法ですが、以下の手順になります。 Vue CLIプロジェクトが対象になります。
1.画面コンポーネントを作成します。
View.vue
<template> <!-- $router.params.<router.jsで定義したパラメータ名>で参照できます。 --> <div>画面{{ $route.params.id }}</div> </template> <script> export default { name: "View", }; </script>
2.src/route.js を以下の内容で作成します。
import Vue from "vue"; import VueRouter from "vue-router"; import View from "./View"; Vue.use(VueRouter); const routes = [ { // ":id"が異なるルートにマッチングします。 path: "/view/:id", component: View, }, ]; const router = new VueRouter({ mode: "history", routes: routes, }); export default router;
3.src/App.vue を以下の内容で修正します。
<template> <div> <h1>App</h1> <router-link to="/view/1">画面1</router-link> <router-link to="/view/2">画面2</router-link> <router-view /> </div> </template> <script> export default { name: "App", watch: { $route(to, from) { console.log("to=" + to + "from=" + from); this.$router.push(to); }, }, }; </script>
参考
3. おわりに
動的ルートマッチングですが、例えばユーザ情報画面などで同じ画面を別の情報で見せたいときなどに使えると思います。
リンク
紹介している一部の記事のコードはGitlabで公開しています。 興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。 弊社製品のハイブリッド OS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。 私自身はiOS モバイルアプリやウィンドウズアプリを得意としております。 ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。 興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688