您好,登錄后才能下訂單哦!
vue傳參方法一
1,路由配置
{ path: '/describe/:id', name: 'Describe', component: Describe }
2,使用方法
// 直接調用$router.push 實現攜帶參數的跳轉 this.$router.push({ // 這個id是一個變量,隨便是什么值都可以 path: /describe/${id}`, })
3,獲取方法(在describe頁面)
$route.params.id
使用以上方法可以拿到上個頁面傳過來的id值
vue傳參方法二
1,路由配置
{ path: '/describe', name: 'Describe', component: Describe } (這個地方默認配置就可以了,不用做任何的處理)
2,使用方法
this.$router.push({ name: 'Describe', params: { id: id } })
父組件中:通過路由屬性中的name來確定匹配的路由,通過params來傳遞參數。
3,獲取方法(在describe頁面)
$route.params.id
也用params獲取就可以了;
vue傳參方法三
1,路由配置
{ path: '/describe', name: 'Describe', component: Describe }
(默認配置)
2,使用方法
this.$router.push({ path: '/describe', query: { id: id } }) (params換成了query)
3,獲取方法(在describe頁面)
$route.query.id
(這個地方用query還獲取id,和前面用的params獲取的區別在于,用query獲取的id值會在url中有顯示,可以看到你傳過來的值)
props傳值方法
父組件
(table-data這個地方可以隨便取名字,不是特定的值)
<div class="content"> //這個是一個普通組件,其中tabelData可以是變量,也可以是常量,和pageInfo一樣樣,這里打算傳遞兩個值過去,其實也可以用對象的方式傳過去都是可以的。 <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是單向綁定的,不應該在子組件內部改變prop。不過這里的props傳過來的值會隨之父組件的值的改變而改變,是動態改變的。
$route使用小技巧
1,$route.path
類型: string
字符串,對應當前路由的路徑,總是解析為絕對路徑,如 "/foo/bar"。
2,$route.params
類型: Object
一個 key/value 對象,包含了動態片段和全匹配片段,如果沒有路由參數,就是一個空對象。
3,$route.query
類型: Object
一個 key/value 對象,表示 URL 查詢參數。例如,對于路徑 /foo?user=1,則有 $route.query.user == 1,如果沒有查詢參數,則是個空對象。
4,$route.hash
類型: string
當前路由的 hash 值 (帶 #) ,如果沒有 hash 值,則為空字符串。
5,$route.fullPath
類型: string
完成解析后的 URL,包含查詢參數和 hash 的完整路徑。
詳細請見(https://router.vuejs.org/zh-cn/api/route-object.html)
總結
以上所述是小編給大家介紹的vue的傳參方式和router使用技巧,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。