您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關vue項目中如何實現點擊Dashboard跳轉,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
1.點擊跳轉寫法
點擊頁面內容:優先級
<router-link :to='{ path: "/cases/case",query: { priorityId: 0 ,type:"priorityId"}}' >優先級</router-link>
點擊頁面內容:狀態
<router-link :to='{ path: "/cases/case",query: { status: 0 ,type:"status"}}' >狀態</router-link>
點擊echarts柱狀
this.chartEvent.on('click',function (param) { that.$router.push({ path: '/cases/case', query: { createdTime: param.name,type:"createdTime" } }); })
2.表格分頁寫法(不同跳轉 顯示不同傳參)
注:由于該頁面下拉框也有相應的優先級篩選條件 所有寫了兩層if判斷了一下
getData: function(){ //獲取CaseSearch里面的搜索內容 eventBus.$on('ticketEntityId',function(val){ tableCaseVue.ticketEntityId=val; }) eventBus.$on('companyId',function(val){ tableCaseVue.companyId=val; }) eventBus.$on('priorityId',function(val){ tableCaseVue.priorityId=val; }) eventBus.$on('status',function(val){ tableCaseVue.status=val; }) eventBus.$on('ticketCategory',function(val){ tableCaseVue.ticketCategory=val; }) var pageTicketDate = { "pageNum": this.current, "pageSize": this.pageSize, "priorityId":tableCaseVue.priorityId, "status":tableCaseVue.status, "ticketEntityId":tableCaseVue.ticketEntityId, "companyId":tableCaseVue.companyId, "ticketCategory":tableCaseVue.ticketCategory }; // 優先級 if((this.$route.query.type == 'priorityId')&&(pageTicketDate.priorityId=='')){ pageTicketDate.priorityId=this.$route.query.priorityId; } // 狀態 if((this.$route.query.type == 'status')&&(pageTicketDate.status=='')){ pageTicketDate.status=this.$route.query.status; } //創建時間 if (this.$route.query.type == 'createdTime') { pageTicketDate.createdTime = this.$route.query.createdTime; } //當前月 if (this.$route.query.type == 'currentMonth') { pageTicketDate.currentMonth = this.$route.query.currentMonth; } if(pageTicketDate.ticketEntityId||pageTicketDate.companyId||pageTicketDate.priorityId||pageTicketDate.status||pageTicketDate.ticketCategory){ pageTicketDate.ticketEntityId=tableCaseVue.ticketEntityId; pageTicketDate.companyId=tableCaseVue.companyId; pageTicketDate.priorityId=tableCaseVue.priorityId; pageTicketDate.status=tableCaseVue.status; pageTicketDate.ticketCategory=tableCaseVue.ticketCategory; pageTicketDate.createdTime=''; pageTicketDate.currentMonth=''; } this.$api.ticket.pageTicket(pageTicketDate) .then(res => { this.tableCaseDate = res.data.records; for(var i=0;i<this.tableCaseDate.length;i++){ // 響應時間 if(this.tableCaseDate[i].waitTime!=undefined){ this.tableCaseDate[i].waitTime=this.tableCaseDate[i].waitTime+'分鐘'; } // 處理時間 if(this.tableCaseDate[i].handleTime!=undefined){ this.tableCaseDate[i].handleTime=this.tableCaseDate[i].handleTime+'分鐘'; } // 完成時間 if(this.tableCaseDate[i].finishTime!=undefined){ this.tableCaseDate[i].finishTime=this.tableCaseDate[i].finishTime; }else{ this.tableCaseDate[i].finishTime='N/A'; } } // 當前頁 this.current = res.data.current; // 總條數 this.dataTotal = res.data.total; }); }
補充知識:vue點擊跳轉到詳情頁
1商品組件頁面GoodsInfo.vue(點擊該組件跳轉到詳情頁)
<template> <div class="goods-info" @click="goGoodsPage()"> <div class="goods-image"> <img v-lazy="goodsImage"> </div> <div class="goods-name">{{goodsName}}</div> <div class="goods-price">¥{{ goodsPrice.toFixed(2) }}</div> </div> </template>
<script> export default { name: "goodsInfo", // 首頁傳過來的 props: ["goodsImage", "goodsName", "goodsPrice", "goodsId"], data() { return {}; }, methods: { goGoodsPage() { // 跳轉到Goods.vue商品詳情頁面,name為Goods.vue頁面路由配置里的的name屬性 this.$router.push({name:"goods",query:{goodsId:this.goodsId}}) } } }; </script>
<style lang="scss" scoped> .goods-info { padding-bottom: 0.2rem; .goods-image { text-align: center; img{ width: 95%;vertical-align: middle; } } .goods-name { padding: 0 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .goods-price { text-align: center; color: #e5017d; } } </style>
2商品詳情頁面Goods.vue(接收商品組件頁面GoodsInfo.vue傳過來的goodsId)
<template> <div>商品詳情頁</div> </template> <script> import url from "@/urlApi.js"; export default { name: "goods", data() { return { goodsId: "" }; }, created () { // 接收GoodsInfo.vue傳過來的goodsId this.goodsId = this.$route.query.goodsId console.log(this.goodsId) this.getGoodsInfo(); }, methods: { getGoodsInfo() { let that = this; this.$http .post(url.getDetailGoodsInfo,{goodsId: that.goodsId}) .then(response => { //根據goodsId獲取對應的商品詳情信息 console.log(response) }) .catch(error => { }); } } }; </script> <style lang="scss" scoped> </style
以上就是vue項目中如何實現點擊Dashboard跳轉,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。