vue-router——路由傳值

一、用name傳遞參數

1.在路由文件src/router/index.js裏配置name屬性。

routes: [

    {

      path: '/',

      name: 'Hello',

      component: Hello

    }

]

2.模板裏(src/App.vue)用$route.name的形勢接收,比如直接在模板中顯示:

<p>{{ $route.name}}</p>

二.通過<router-link> 標籤中的to傳參

也許你也會覺的上邊的傳參很不正規,也不方便,其實我們多數傳參是不用name進行傳參的,我們用<router-link>標籤中的to屬性進行傳參,需要您注意的是這裏的to要進行一個綁定,寫成:to。先來看一下這種傳參方法的基本語法:

<router-link :to="{name:xxx,params:{key:value}}">valueString</router-link>
  • name:就是我們在路由配置文件中起的name值。
  • params:就是我們要傳的參數,它也是對象形勢,在對象裏可以傳遞多個值。

1.我們改造一下我們的src/App.vue裏的<router-link>標籤

 <router-link :to="{name:'xxx',params:{username:'haohaoxuexi'}}">詳情頁</router-link>

2.把src/reouter/index.js文件裏給details配置的路由起個name,叫xxx.

{
    path: '/details',
    name: 'xxx',
    component: details
}

3.最後在模板裏(src/components/details.vue)用$route.params.username進行接收.

 <p>{{$route.params.username}}</p>

三.利用url傳遞參數

1.修改App.vue的<router-link>標籤(類似函數的實參傳遞)

<router-link to="/params/198/js is very good">我的</router-link>

2.修改index.js文件裏的配置(類似函數的形參接收)

{
    path: '/params/:newsId/:newsTitle',
    name: 'mine',
    component: mine
}

3.最後在模板裏(src/components/mine.vue)進行接收.

<p>{{ $route.params.newsId}}</p>
<p>{{ $route.params.newsTitle}}</p>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章