1. 程式人生 > >第3節:vue-router如何參數傳遞

第3節:vue-router如何參數傳遞

方法 log mini 程序 int str 來看 bsp 名稱

原文網址:http://jspang.com/2017/04/13/vue-router/

開發中,參數的傳遞是個最基本的業務需求。通過URL地址來傳遞參數是一個形式,這節課我們就看看vue-router為我們提供了那些傳遞參數的功能。我們先想象一個基本需求,就是在我們點擊導航菜單時,跳轉頁面上能顯示出當前頁面的路徑,來告訴用戶你想在所看的頁面位置(類似於面包屑導航)。

一、用name傳遞參數

前兩節課一直出現name的選項,但是我們都沒有講,這節課我們講name的一種作用,傳遞參數。接著上節課的程序繼續編寫。

兩步完成用name傳值並顯示在模板裏:

  1. 在路由文件src/router/index.js裏配置name屬性。
    1 2 3 4 5 6 7 routes: [ { path: ‘/‘, name: ‘Hello‘, component: Hello } ]
  2. 模板裏(src/App.vue)用$router.name的形勢接收,比如直接在模板中顯示:
    1 <p>{{ $router.name}}</p>

二、通過<router-link> 標簽中的to傳參

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

1 <router-link :to="{name:xxx,params:{key:value}}">valueString</router-link>

這裏的to前邊是帶冒號的,然後後邊跟的是一個對象形勢的字符串.

  • name:就是我們在路由配置文件中起的name值。
  • params:就是我們要傳的參數,它也是對象形勢,在對象裏可以傳遞多個值。

了解基本的語法後,我們改造一下我們的src/App.vue裏的<router-link>標簽,我們把hi1頁面的<router-link>進行修改。

1 <router-link :to="{name:‘hi1‘,params:{username:‘jspang‘}}">Hi頁面1</router-link>

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

1 {path:‘/hi1‘,name:‘hi1‘,component:Hi1},

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

1 {{$route.params.username}}

總結:

今天我們學習了兩種傳參的方法,一般會使用第二種方法。我們通過學習也知道了name的用途,一種作用是傳參,一種作用是在傳參時起到名稱作用。傳參的操作在實際開發中是基本的需求,我們一定要掌握好啊。

第3節:vue-router如何參數傳遞