最近在做一個(gè)公眾號(hào)的商城項(xiàng)目,主要用的VUE+MUI,其實(shí)今天這個(gè)點(diǎn)對(duì)于有過(guò)項(xiàng)目經(jīng)驗(yàn)的前端工作者來(lái)說(shuō)是最基礎(chǔ)的,但也是必須要掌握的,今天小編主要是記錄下傳參和跳轉(zhuǎn)的一些總結(jié)(僅供參考)。
首先我們先上代碼吧!
<router-link :to="{path:'/editaddress',query:{ id:item.id }}"> <div class="top_left_center"> <img src="/static/images/details/location.png" alt="" class="location_img"> <span style="color:#f40;font-size:15px;">點(diǎn)擊編輯</span> </div></router-link> 這個(gè)是我常用的傳參及跳轉(zhuǎn)路由的方法,下面剪短說(shuō)一下這個(gè)代碼,在router-link中:to后面跟著的就是主角(跳轉(zhuǎn)、傳參)的內(nèi)容了,其實(shí)我們?cè)趶暮笈_(tái)拿到數(shù)據(jù)遍歷后,每一個(gè)對(duì)應(yīng)的id都會(huì)有,這里用的query:{id:item,id},其實(shí)就是把遍歷對(duì)應(yīng)的id傳到path
對(duì)應(yīng)的那個(gè)界面,這個(gè)常出現(xiàn)在列表頁(yè)到詳情頁(yè)頁(yè)這里(當(dāng)然不只是這里了,其他地方用的很多很多)。
對(duì)于傳參的方式還是要說(shuō)下的多余的:
query和params:
a.像這種:to="{path:'/editaddress',query:{ id:item.id }}是query進(jìn)行傳值;這種:to="{path:'/editaddress',params:{ id:item.id }},兩種方式傳值沒(méi)什么差別,
但比如在詳情頁(yè)引入值時(shí)this.paramsid = this.$route.params.id ---->params引入;this.queryId = this.$route.query.Id---->query引入(當(dāng)然用name也行)
對(duì)于需要進(jìn)行安全保護(hù)的網(wǎng)站其實(shí)也可以在此處進(jìn)行選擇params-->name(不顯示路徑如index/login)--->當(dāng)然這只是相對(duì)query.-->path(顯示?后面帶的參數(shù)如index/login?id=1&&name=asd)安全的方法.
需要說(shuō)明的這種方法在有的頁(yè)面刷新會(huì)丟失傳過(guò)來(lái)的數(shù)據(jù),就是不太穩(wěn)定。下面是另一個(gè)傳參的方法倒是可以解決這種問(wèn)題,先看代碼:
request.get('shop/ce/' + this.product_id +'? num='+this.num ,{ id:this.product_id, num:this.num, }).then((response) => { if(response){ console.log(this.product_id) this.$router.push({path:'/order?pid='+this.product_id}) } }).catch((ex) => { console.log(ex.response) })上面的request只是我封裝的一個(gè)axios請(qǐng)求方法(主要是方便,不多說(shuō)),看紅線重點(diǎn),這個(gè)地方的傳參其實(shí)是很優(yōu)秀的,自己在定義一個(gè)變量接收id,因?yàn)槭菍懺谔D(zhuǎn)路徑里面的,這樣在刷新時(shí)人家會(huì)一直帶著這個(gè)ID,數(shù)據(jù)自然就不會(huì)丟失了,在需要接受ID的頁(yè)面用
this.product_id = this.$route.query.pid存一下就OK了。因此覺得這個(gè)方法挺好,需要多加注意。
既然說(shuō)到這了,我們常用的其實(shí)還有抓取不同的id,傳給后臺(tái),常見的有點(diǎn)擊不同列表的商品獲取對(duì)應(yīng)的ID,這里我就說(shuō)一下我用的方法(這個(gè)僅僅是記錄下)。
新聞熱點(diǎn)
疑難解答
圖片精選