最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3路由query參數(shù)實例詳解

 更新時間:2025年12月01日 14:19:10   作者:網(wǎng)絡(luò)點點滴  
文章介紹了Vue3路由的query參數(shù),包括其定義、使用方法以及如何在組件中接收和展示query參數(shù),通過一個簡單的實例,展示了如何在路由配置中添加query參數(shù),并在子組件中通過計算屬性獲取和顯示這些參數(shù),感興趣的朋友跟隨小編一起看看吧

Vue3路由query參數(shù)

基礎(chǔ)概念

query其實我們在說to的對象寫法的時候已經(jīng)大致介紹過了,現(xiàn)在來仔細的講講;query參數(shù)是URL中?后面的部分,用于傳遞鍵值對數(shù)據(jù);

例如https://example.com/users?page=1&search=vue

實例展示

  • 首先為我們之前的項目,聯(lián)系我們設(shè)計一下嵌套路由,先更新路由的配置文件;
{
        path: '/Contact',
        component: Contact,
        name: 'contact',
        children: [{
            path: '',
            component: ContactContent.vue
        }]
    }]
  • 之后我們直接寫子組件代碼
<!-- components/ContactContent.vue -->
<template>
    <div class="contact-content">
        <!-- 根據(jù) query.type 顯示不同內(nèi)容 -->
        <div v-if="contentType === 'phone'" class="content-section">
            <h3>?? 電話聯(lián)系</h3>
            <div class="info-card">
                <p><strong>客服熱線:</strong> 400-123-4567</p>
                <p><strong>技術(shù)支持:</strong> 400-123-4568</p>
                <p><strong>投訴建議:</strong> 400-123-4569</p>
            </div>
            <div class="tips">
                <p>工作時間:周一至周五 9:00-18:00</p>
            </div>
        </div>
        <div v-else-if="contentType === 'email'" class="content-section">
            <h3>?? 郵箱聯(lián)系</h3>
            <div class="info-card">
                <p><strong>客服郵箱:</strong> service@example.com</p>
                <p><strong>技術(shù)支持:</strong> tech@example.com</p>
                <p><strong>合作咨詢:</strong> cooperate@example.com</p>
            </div>
            <div class="tips">
                <p>我們會在24小時內(nèi)回復(fù)您的郵件</p>
            </div>
        </div>
        <div v-else-if="contentType === 'address'" class="content-section">
            <h3>?? 地址信息</h3>
            <div class="info-card">
                <p><strong>總部地址:</strong> 北京市朝陽區(qū)某某街道123號</p>
                <p><strong>上海分公司:</strong> 上海市浦東新區(qū)某某路456號</p>
                <p><strong>深圳辦事處:</strong> 深圳市南山區(qū)科技園789號</p>
            </div>
            <div class="tips">
                <p>來訪前請?zhí)崆邦A(yù)約</p>
            </div>
        </div>
        <div v-else-if="contentType === 'hours'" class="content-section">
            <h3>? 工作時間</h3>
            <div class="info-card">
                <p><strong>客服中心:</strong> 周一至周日 8:00-22:00</p>
                <p><strong>技術(shù)支持:</strong> 周一至周五 9:00-18:00</p>
                <p><strong>線下門店:</strong> 周一至周日 10:00-21:00</p>
            </div>
            <div class="tips">
                <p>節(jié)假日工作時間可能調(diào)整,請關(guān)注公告</p>
            </div>
        </div>
        <div v-else class="content-section">
            <h3>?? 歡迎聯(lián)系我們</h3>
            <p>請選擇上方的聯(lián)系方式查看詳細信息</p>
        </div>
    </div>
</template>
  • 我們這里使用v-if來判斷頁面的內(nèi)容
<script setup>
import { useRoute } from 'vue-router'
import { computed } from 'vue'
const route = useRoute()
// 從 query 參數(shù)獲取內(nèi)容類型
const contentType = computed(() => {
    return route.query.type || 'phone' // 默認顯示電話信息
})
</script>

這里使用一個計算屬性來獲取當(dāng)前路由的query的屬性,默認情況下顯示電話信息

  • 順便展示一下CSS的內(nèi)容
<style scoped>
.contact-content {
    padding: 20px;
}
.content-section h3 {
    color: #333;
    margin-bottom: 20px;
    font-size: 1.5em;
}
.info-card {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 15px;
    border-left: 4px solid #007bff;
}
.info-card p {
    margin: 10px 0;
    font-size: 16px;
}
.tips {
    background: #e7f3ff;
    padding: 12px 15px;
    border-radius: 5px;
    font-size: 14px;
    color: #666;
}
</style>

現(xiàn)在看主路由的配置

<template>
    <div class="contact-container">
        <h2 class="content-title">聯(lián)系我們</h2>
        <!-- 使用 router-link 的 to 對象寫法傳遞 query 參數(shù) -->
        <div class="tab-buttons">
            <router-link :to="{
                path: '/contact',
                query: { type: 'phone' }
            }" class="tab-button">
                電話聯(lián)系
            </router-link>
            <router-link :to="{
                path: '/contact',
                query: { type: 'email' }
            }" class="tab-button">
                郵箱聯(lián)系
            </router-link>
            <router-link :to="{
                path: '/contact',
                query: { type: 'address' }
            }" class="tab-button">
                地址信息
            </router-link>
        </div>
        <!-- 子組件會通過路由自動接收 query 參數(shù) -->
        <div class="content-area"><router-view></router-view></div>
    </div>
</template>

我們這里為每個路由鏈接添加一個query的type屬性,如果我們點擊這個按鈕的話,這個query就有type屬性的值了,這樣我們就可以被子組件收到了,然后就可以展示不同的內(nèi)容了,這里不要忘記在組件中使用router-view來渲染子路由的東西

  • 父組件的也看下吧
<style scoped>
.contact-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}
.tab-buttons {
    display: flex;
    gap: 10px;
    margin: 20px 0;
    flex-wrap: wrap;
}
.tab-button {
    padding: 10px 20px;
    border: 1px solid #007bff;
    background: white;
    color: #007bff;
    text-decoration: none;
    border-radius: 5px;
    cursor: pointer;
}
.tab-button:hover,
.tab-button.router-link-active {
    background: #007bff;
    color: white;
}
.content-area {
    margin-top: 30px;
    min-height: 200px;
}
</style>

到此這篇關(guān)于Vue3路由query參數(shù)的文章就介紹到這了,更多相關(guān)Vue路由query參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文帶你搞懂Vue3的基本語法

    一文帶你搞懂Vue3的基本語法

    這篇文章主要給大家詳細介紹一下Vue3中的基本語法,文中的示例代碼講解詳細,對我們學(xué)習(xí)Vue3有一定的幫助,感興趣的小伙伴可以了解一下
    2022-11-11
  • vue3+koa實現(xiàn)文件上傳功能的全過程記錄

    vue3+koa實現(xiàn)文件上傳功能的全過程記錄

    開發(fā)項目的時候,用到文件上傳的功能很常見,包括單文件上傳和多文件上傳,下面這篇文章主要給大家介紹了關(guān)于vue3+koa實現(xiàn)文件上傳功能的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 關(guān)于vue項目中搜索節(jié)流的實現(xiàn)代碼

    關(guān)于vue項目中搜索節(jié)流的實現(xiàn)代碼

    這篇文章主要介紹了關(guān)于vue項目中搜索節(jié)流的實現(xiàn)代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 在Vue中使用echarts的方法

    在Vue中使用echarts的方法

    這篇文章主要介紹了Vue中使用echarts的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • elementui源碼學(xué)習(xí)之仿寫一個el-divider組件

    elementui源碼學(xué)習(xí)之仿寫一個el-divider組件

    這篇文章主要為大家介紹了elementui源碼學(xué)習(xí)之仿寫一個el-divider組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • vue3不能使用history.pushState修改url參數(shù)踩坑

    vue3不能使用history.pushState修改url參數(shù)踩坑

    這篇文章主要為大家介紹了vue3不能使用history.pushState修改url參數(shù)踩坑解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 一文詳解Vue3中的自定義指令的使用

    一文詳解Vue3中的自定義指令的使用

    自定義指令是?Vue.js?中一個強大的特性,它允許您擴展?Vue?的模板語法,本文將詳細介紹?Vue?3?中的自定義指令,包括如何創(chuàng)建它們以及如何將它們應(yīng)用于您的應(yīng)用程序,需要的可以參考下
    2023-11-11
  • element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案

    element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案

    本文主要介紹了element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Vue實現(xiàn)文件切片上傳功能的示例代碼

    Vue實現(xiàn)文件切片上傳功能的示例代碼

    在實際開發(fā)項目過程中有時候需要上傳比較大的文件,然后呢,上傳的時候相對來說就會慢一些,so,后臺可能會要求前端進行文件切片上傳。本文介紹了Vue實現(xiàn)文件切片上傳的示例代碼,需要的可以參考一下
    2022-10-10
  • Vue3使用TypeIt實現(xiàn)文字打字機效果的代碼示例

    Vue3使用TypeIt實現(xiàn)文字打字機效果的代碼示例

    在現(xiàn)代網(wǎng)頁設(shè)計中,文字打字機效果是一種非常流行的動畫效果,能夠吸引用戶的注意力并提升用戶體驗,本文將介紹如何在 Vue 3 中使用 TypeIt 庫實現(xiàn)文字打字機效果,并分享一些實用的技巧和示例,需要的朋友可以參考下
    2025-01-01

最新評論

庄河市| 石家庄市| 禹城市| 马尔康县| 淄博市| 军事| 淅川县| 孟村| 辉南县| 闻喜县| 城市| 东辽县| 出国| 韩城市| 读书| 永兴县| 九寨沟县| 新建县| 霸州市| 长海县| 扶风县| 安福县| 定西市| 安康市| 泽普县| 静宁县| 肃南| 郑州市| 天镇县| 灵川县| 沐川县| 广宗县| 巴楚县| 巢湖市| 兴文县| 沙河市| 胶南市| 庄浪县| 阿鲁科尔沁旗| 泗水县| 忻州市|