web-dev-qa-db-ja.com

VueJSで$ route.paramsにアクセスする

このドキュメントをご覧ください: https://router.vuejs.org/en/essentials/navigation.html

<router-link :to="variableName">Link Text</routerlink>をバインドできるようです。ただし、ビルドしようとしているコンポーネント内のルートパラメーターにアクセスしようとすると、いくつかの問題が発生しました。

だから私はこれを使用します:

<router-link :to="permalink">Title of thing</router-link>

その後、ルータービューを使用してフォーラムスレッドを取得します。ルーターでこれを使用する:

import ForumThread from './views/barracks/forumThreadSingle';

// Other routes...
let routes = [
    {
        path: '/barracks/th/:id',
        component: ForumThread,
    } 
]; 

Forumrouteコンポーネントで、$ route.params.idも渡されていることがわかります。ただし、次のようにアクセスしようとすると:

console.log('The id is: ' + $route.params.id);

オブジェクトのparams部分を見つけることができません。

VueJSとJavaScript自体はかなり新しいものです。私が見たすべての例では、テンプレートがルーターファイルとインラインになっていることを示しています。

テンプレートファイルにプロパティを渡すために、どのような調整を行うことができますか?

ありがとう!

12
Ian Buss

Vue Loader setup(ファイルに<template></template>タグがある))を使用している場合、$ routerを参照するにはthisを使用する必要があります。 'ファイルの<script></script>部分内でそうしています。

 console.log('The id is: ' + this.$route.params.id);
27
Alex MacArthur