プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Vue.js
  • 【Vue.js】「Vue-Router」でパラメータを渡す方法
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Vue.js】「Vue-Router」でパラメータを渡す方法

06.14

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

URLパラメータの付与

URLパラメータというのは下記のようにURLの末尾につける数字のことです。

1
http://localhost/{数字}

$routeオブジェクト経由で渡す

メリット

ルーター経由でしか使えないコンポーネントという事で用途を制限できます。

router.js

下記のように「:パラメータ名」と指定します。

1
2
3
4
5
6
const router = new VueRouter({
  routes:[
    { path:"/",component:コンポーネント1},
    { path:"/test/:id",component:コンポーネント2}
  ]
})

SFC側

「$route.params.パラメータ名」と記述して渡ってきたパラメータにアクセスする事が可能です。$routeに関しては後述します。

1
2
3
  <div>
    {{ $route.params.id }}
  </div>

$routeオブジェクトを使って動的なパラメータを渡す。

名前付きルート(事前にrouter.jsのroutesにname要素としてコンポーネントを登録しておく必要があります。)と組み合わせれば$routerにpushする構文でパラメータを渡す事が可能です。

1
this.$router.push({ name:'URL',params: { パラメータ名: 動的なパラメータ:JavaScript処理}})

props経由で渡す。

メリット

ルーター関係なくpropsで渡せるのでコンポーネントの再利用性が高まります。

router.js側

props経由で渡したいオブジェクトのリンク設定に「props:true」を付け加えます。

1
2
3
4
5
export default new Router({
  mode: "history",
  routes: [{ path: '/', component: Home },
  { path: '/content/:id', component: Content, props: true }]
});

SFC側

渡されるコンポーネント側としてはpropsとして受けます。

1
2
3
4
5
6
7
8
9
10
11
12
<template>
  <div>
    <h1>Content</h1>
    {{ id }}
  </div>
</template>
 
<script>
export default {
  props: ["id"]
};
</script>

router-linkを使って動的パラメータを渡す。

router.js側にname要素を指定します。これを名前付きルートと呼びます。

1
2
3
4
export default new Router({
  routes: [
  { path: '/content/:id', component: Content, props: true, name: "content-url" }]
});

コンポーネント側のリンクは下記のように記述します。コンポーネントにオブジェクト形式でパラメータを渡す事が可能です。

1
2
3
    <router-link
      :to="{ name: 'content-url', params: {id: Number(id) + 1 } }"
      >リンク名</router-link>

クエリパラメータを渡す

URLパラメータというのは下記のようにURLの末尾につける?付きのパラメータのことです。。

1
http://localhost/content?id=1

router-linkを使って渡す方法

下記のようにqueryという要素を使用して記述します。なお、queryに関しては特にname(名前付きルート)を使用しなければならないという制約はなく、pathでも大丈夫です。

1
2
3
4
5
6
    <router-link
      :to="{
        name: 'content-url',
        params: {id: Number(id) + 1 },
        query:{str: 'test'} }"
      >リンク名</router-link>

スポンサーリンク
  • 2020 06.14
  • miyabisan2
  • コメントを書く
  • Vue.js
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 07.08

    【Vue.js】「v-on(イベントハンドリング)」、「キー修飾子」について

  2. 2018 07.17

    【Vue.js】「Vue Router」の基本、「Vuex」と連携してルーティング情報を一元管理

  3. 2020 04.05

    【Vue.js】「ウォッチャ」、「computed」の使い分け

  4. 2020 06.06

    【Vue.js】webpackビルドした後の「dist」フォルダについて

  5. 2020 05.31

    【Vue.js】「v-for」について

  6. 2018 07.16

    【Vue.js】「コンポーネント」へのパラメータの受け渡し

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Vue.js】「router-link」の詳細仕様

【Vue.js】「Vue-Router」で「route…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー