tft每日頭條

 > 生活

 > vue通過路由傳遞參數後如何接收

vue通過路由傳遞參數後如何接收

生活 更新时间:2025-04-04 20:53:32

vue通過路由傳遞參數後如何接收?router-link api// 1.to { string | Location } 表示目标路由的鍊接當被點擊後,内部會立刻把 to 的值傳到 router.push(),所以這個值可以是一個字符串或者是描述目标位置的對象 <!-- 字符串 --> <router-link to="orderDetail">訂單詳情</router-link> <!-- 渲染結果 --> <a href="orderDetail">訂單詳情</a> <!-- 使用 v-bind 的 JS 表達式 --> <router-link v-bind:to="'orderDetail'">訂單詳情</router-link> <!-- 不寫 v-bind 也可以,就像綁定别的屬性一樣 --> <router-link :to="'orderDetail'">訂單詳情</router-link> <!-- 同上 --> <router-link :to="{ path: '/orderDetail' }">訂單詳情</router-link> <!-- 命名的路由 --> <router-link :to="{ name: 'orderDetail', params: { id: 1 }}">訂單詳情</router-link> <!-- 帶查詢參數,下面的結果為 /orderDetail?id=1 --> <router-link :to="{ path: 'orderDetail', query: { id: '1' }}">訂單詳情</router-link> // 2.replace { boolean } 設置 replace 屬性的話,當點擊時,會調用 router.replace() 而不是 router.push(),于是導航後不會留下 history 記錄 <router-link :to="{ path: '/orderDetail'}" replace>訂單詳情</router-link> // 3.append { boolean } 設置 append 屬性後,則在當前 (相對) 路徑前添加基路徑例如,我們從 /a 導航到一個相對路徑 b,如果沒有配置 append,則路徑為 /b,如果配了,則為 /a/b <router-link :to="{ path: 'relative/path'}" append></router-link> // 4.tag { string } 想要 <router-link> 渲染成某種标簽,例如 <li> 于是我們使用 tag prop 類指定何種标簽,同樣它還是會監聽點擊,觸發導航 <router-link to="/orderDetail" tag="li">訂單詳情</router-link> <!-- 渲染結果 --> <li>訂單詳情</li>,下面我們就來說一說關于vue通過路由傳遞參數後如何接收?我們一起去了解并探讨一下這個問題吧!

vue通過路由傳遞參數後如何接收(路由跳轉方式及路由傳參)1

vue通過路由傳遞參數後如何接收

vue 路由跳轉方式

router-link api

// 1.to { string | Location } 表示目标路由的鍊接。當被點擊後,内部會立刻把 to 的值傳到 router.push(),所以這個值可以是一個字符串或者是描述目标位置的對象。 <!-- 字符串 --> <router-link to="orderDetail">訂單詳情</router-link> <!-- 渲染結果 --> <a href="orderDetail">訂單詳情</a> <!-- 使用 v-bind 的 JS 表達式 --> <router-link v-bind:to="'orderDetail'">訂單詳情</router-link> <!-- 不寫 v-bind 也可以,就像綁定别的屬性一樣 --> <router-link :to="'orderDetail'">訂單詳情</router-link> <!-- 同上 --> <router-link :to="{ path: '/orderDetail' }">訂單詳情</router-link> <!-- 命名的路由 --> <router-link :to="{ name: 'orderDetail', params: { id: 1 }}">訂單詳情</router-link> <!-- 帶查詢參數,下面的結果為 /orderDetail?id=1 --> <router-link :to="{ path: 'orderDetail', query: { id: '1' }}">訂單詳情</router-link> // 2.replace { boolean } 設置 replace 屬性的話,當點擊時,會調用 router.replace() 而不是 router.push(),于是導航後不會留下 history 記錄。 <router-link :to="{ path: '/orderDetail'}" replace>訂單詳情</router-link> // 3.append { boolean } 設置 append 屬性後,則在當前 (相對) 路徑前添加基路徑。例如,我們從 /a 導航到一個相對路徑 b,如果沒有配置 append,則路徑為 /b,如果配了,則為 /a/b。 <router-link :to="{ path: 'relative/path'}" append></router-link> // 4.tag { string } 想要 <router-link> 渲染成某種标簽,例如 <li>。 于是我們使用 tag prop 類指定何種标簽,同樣它還是會監聽點擊,觸發導航。 <router-link to="/orderDetail" tag="li">訂單詳情</router-link> <!-- 渲染結果 --> <li>訂單詳情</li>

  • res.data.learnedDuration

router.push('index'); this.$router.push({ name: "orderDetail" }); this.$router.push({ path: "/orderDetail" });

路由傳參
  • 方法1

// 直接調用 $router.push 實現攜帶參數的跳轉 this.$router.push({ path: `/orderDetail/${id}`, }) // 對應路由配置如下: { path: '/orderDetail/:id', name: 'orderDetail', component: orderDetail } // 組件中獲取參數的方式: this.$route.params.id

  • 方法2

// 通過路由屬性中的name來确定匹配的路由,通過params來傳遞參數。 this.$router.push({ name: 'orderDetail', params: { id: 1 } }); // 對應路由配置如下: { path: '/orderDetail', name: 'orderDetail', component: orderDetail } // 組件中獲取參數的方式: this.$route.params.id

  • 方法3:

// 使用path來匹配路由,然後通過query來傳遞參數 this.$router.push({ path: '/orderDetail', query: { id: 1 } }); // 對應路由配置如下: { path: '/orderDetail', name: 'orderDetail', component: orderDetail } // 組件中獲取參數的方式: this.$route.query.id

  • 方法4

<router-link :to="{ path:'/orderDetail',query: {id: id} }">訂單詳情</router-link> // 對應的路由配置如下: { path: '/orderDetail', name: 'orderDetail', component: orderDetail } // 組件中獲取參數的方式: this.$route.query.id <router-link :to="{ name:'orderDetail',params: {id: id} }">訂單詳情</router-link> // 對應的路由配置如下: { path: '/orderDetail/:id', name: 'orderDetail', component: orderDetail } // 組件中獲取參數的方式: this.$route.params.id

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved