vue2導(dǎo)航根據(jù)路由傳值,而改變導(dǎo)航內(nèi)容的實(shí)例
在項(xiàng)目中,一般我們的導(dǎo)航都是長的基本一致,只是內(nèi)容會(huì)根據(jù)上個(gè)頁面的內(nèi)容而改變。那么我們只需要把頂部導(dǎo)航作為獨(dú)立的公共組件,這樣方便哪里需要哪里引入組件即可。
公共導(dǎo)航代碼如下:(mineHeader.vue)
<template> <section class="listHeader"> <section class="header" @click="back()"> <img src="../../assets/main/back.png" alt=""> <p>{{mineHeaderData}}</p> </section> </section> </template> <script> export default { name: 'MineHeader', props:{ mineHeaderData:String }, data () { return { msg: "個(gè)人資料的頭部" } }, methods: { back: function(){ this.$router.go('-1'); } } } </script>
其次eg:在某個(gè)頁面中,有三個(gè)模塊,需要根據(jù)不同的模塊跳轉(zhuǎn)到一個(gè)公共的組件,但是頭部內(nèi)容,要跟模塊內(nèi)容匹配。如下:
<template> <section class="tiket"> <section class="top" v-for="(item, index) in sortList" @click="toNext(index)"> <section> <h3>{{item.list}}</h3> <img src="../../assets/main/right.png"> </section> <section class="middle"> <aside> <p>可用</p> <p>已用</p> <p>過期</p> </aside> </section> </section> </section> </template> <style scoped> </style> <script> export default { data() { return { sortList: [ {'list': '觀影兌換券', }, {'list': '室內(nèi)樂兌換券', }, {'list': '沙龍兌換券', } ], }; }, methods: { toNext: function(index) { sessionStorage.ticketName =this.sortList[index].list; this.$router.push('/mine/tiketOrder'); } }, }; </script>
最后界面如下:
然后我們需要點(diǎn)擊每個(gè)模塊,跳轉(zhuǎn)到下個(gè)頁面,并且導(dǎo)航內(nèi)容也變成對(duì)應(yīng)的內(nèi)容。在其路由頁面tiketOrder.vue頁面需要如下寫,
<template> <section class="tiket"> <MineHeader :mineHeaderData='ticketName'></MineHeader> <section class="top" v-for="(item, index) in sotList"> <section> <h3>{{ticketName}}</h3> </section> <section class="middle"> <aside class="left"> <p>{{item.list}}</p> <p>有效期</p> </aside> </section> </section> </section> </template> <script> import MineHeader from '../common/mineHeader.vue'; export default { name: 'tiketOrder', data() { return { ticketName: '', sotList: [ {'list': '可用', }, {'list': '已用', }, {'list': '過期', } ], }; }, components: { MineHeader, }, created() { this.ticketName = sessionStorage.getItem('ticketName'); }, }; </script>
最后如下圖:
這樣就完成了。其實(shí)一個(gè)項(xiàng)目中,很多組件是可以復(fù)用的,這樣我們可以少寫很多組件。
以上這篇vue2導(dǎo)航根據(jù)路由傳值,而改變導(dǎo)航內(nèi)容的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于element-ui?單選框默認(rèn)值不選中的解決
這篇文章主要介紹了關(guān)于element-ui?單選框默認(rèn)值不選中的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09vue cli3.0打包上線靜態(tài)資源找不到路徑的解決操作
這篇文章主要介紹了vue cli3.0打包上線靜態(tài)資源找不到路徑的解決操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08vue-infinite-loading2.0 中文文檔詳解
本篇文章主要介紹了vue-infinite-loading2.0 中文文檔詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04vue報(bào)錯(cuò)Error:Cannot?find?module?'fs/promises'的解決方
最近的項(xiàng)目需要用到vue/cli,但是用cnpm安裝vue/cli的時(shí)候報(bào)錯(cuò)了,下面這篇文章主要給大家介紹了關(guān)于vue報(bào)錯(cuò)Error:Cannot?find?module?'fs/promises'的解決方式,需要的朋友可以參考下2022-11-11vue使用keep-alive保持滾動(dòng)條位置的實(shí)現(xiàn)方法
這篇文章主要介紹了vue使用keep-alive保持滾動(dòng)條位置的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04vuex2中使用mapGetters/mapActions報(bào)錯(cuò)的解決方法
這篇文章主要介紹了vuex2中使用mapGetters/mapActions報(bào)錯(cuò)解決方法 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10