溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue的傳參方式匯總和router使用技巧

發(fā)布時(shí)間:2020-09-09 12:15:06 來(lái)源:腳本之家 閱讀:137 作者:誌翔 欄目:web開發(fā)

vue傳參方法一

1,路由配置

 {
  path: '/describe/:id',
  name: 'Describe',
  component: Describe
 }

2,使用方法

// 直接調(diào)用$router.push 實(shí)現(xiàn)攜帶參數(shù)的跳轉(zhuǎn)
 this.$router.push({
// 這個(gè)id是一個(gè)變量,隨便是什么值都可以
 path: /describe/${id}`,
 })

3,獲取方法(在describe頁(yè)面)

$route.params.id

使用以上方法可以拿到上個(gè)頁(yè)面?zhèn)鬟^(guò)來(lái)的id值

vue傳參方法二

 1,路由配置

 {
  path: '/describe',
  name: 'Describe',
  component: Describe
 }
(這個(gè)地方默認(rèn)配置就可以了,不用做任何的處理)

2,使用方法

  this.$router.push({
   name: 'Describe',
   params: {
   id: id
   }
  })

父組件中:通過(guò)路由屬性中的name來(lái)確定匹配的路由,通過(guò)params來(lái)傳遞參數(shù)。

 3,獲取方法(在describe頁(yè)面)

$route.params.id

也用params獲取就可以了;

vue傳參方法三

 1,路由配置

 {
  path: '/describe',
  name: 'Describe',
  component: Describe
 }

(默認(rèn)配置)

2,使用方法

 this.$router.push({
   path: '/describe',
   query: {
   id: id
   }
  })
(params換成了query)

 3,獲取方法(在describe頁(yè)面)

$route.query.id

(這個(gè)地方用query還獲取id,和前面用的params獲取的區(qū)別在于,用query獲取的id值會(huì)在url中有顯示,可以看到你傳過(guò)來(lái)的值)

props傳值方法

父組件

(table-data這個(gè)地方可以隨便取名字,不是特定的值)

<div class="content">
//這個(gè)是一個(gè)普通組件,其中tabelData可以是變量,也可以是常量,和pageInfo一樣樣,這里打算傳遞兩個(gè)值過(guò)去,其實(shí)也可以用對(duì)象的方式傳過(guò)去都是可以的。
 <my-table :table-data="tableData" :page-info="pageInfo" id="myTable"></my-table>
</div>

子組件

props: ['tableData', 'pageInfo'],
data() {
 return {
  tData: this.tableData,
  page: this.pageInfo
 }
}

prop是單向綁定的,不應(yīng)該在子組件內(nèi)部改變prop。不過(guò)這里的props傳過(guò)來(lái)的值會(huì)隨之父組件的值的改變而改變,是動(dòng)態(tài)改變的。

$route使用小技巧

1,$route.path

類型: string

字符串,對(duì)應(yīng)當(dāng)前路由的路徑,總是解析為絕對(duì)路徑,如 "/foo/bar"。

2,$route.params

類型: Object

  一個(gè) key/value 對(duì)象,包含了動(dòng)態(tài)片段和全匹配片段,如果沒(méi)有路由參數(shù),就是一個(gè)空對(duì)象。

3,$route.query

類型: Object

一個(gè) key/value 對(duì)象,表示 URL 查詢參數(shù)。例如,對(duì)于路徑 /foo?user=1,則有 $route.query.user == 1,如果沒(méi)有查詢參數(shù),則是個(gè)空對(duì)象。

4,$route.hash

類型: string

當(dāng)前路由的 hash 值 (帶 #) ,如果沒(méi)有 hash 值,則為空字符串。

5,$route.fullPath

類型: string

完成解析后的 URL,包含查詢參數(shù)和 hash 的完整路徑。

詳細(xì)請(qǐng)見(https://router.vuejs.org/zh-cn/api/route-object.html)

總結(jié)

以上所述是小編給大家介紹的vue的傳參方式和router使用技巧,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI