プログラムを書こう!

実務や自作アプリ開発で習得した役に立つソフトウェア技術情報を発信するブログ

Vue Router で動的マッチングする

この記事は 2021 年 01 月 29 日に投稿しました。

f:id:paveway:20190914064630j:plain

  1. はじめに
  2. Vue Router で動的マッチングする
  3. おわりに

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>
参考

Vue

Vue CLI

Vue Router

目次へ

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

目次へ