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

vue獲取url上參數(shù)的常見方法小結(jié)

 更新時間:2025年11月06日 08:43:41   作者:悟能不能悟  
這篇文章主要為大家詳細介紹了vue獲取url上參數(shù)的幾種常用方法,這些方法主要取決于你的使用場景,下面小編就和大家詳細介紹一下吧

在 Vue 中獲取 URL 參數(shù)有幾種常用方法,具體取決于你的使用場景:

1. 使用 Vue Router(推薦)

查詢參數(shù)(Query Parameters)

// URL: http://example.com/user?id=123&name=john

// 在組件中獲取
export default {
  created() {
    const id = this.$route.query.id;     // "123"
    const name = this.$route.query.name; // "john"
    console.log(id, name);
  }
}

路由參數(shù)(Route Params)

// 路由配置
const routes = [
  { path: '/user/:id', component: User }
]

// URL: http://example.com/user/123
export default {
  created() {
    const id = this.$route.params.id; // "123"
    console.log(id);
  }
}

使用組合式 API(Vue 3)

<template>
  <div>用戶ID: {{ userId }}</div>
</template>

<script setup>
import { useRoute } from 'vue-router'

const route = useRoute()
const userId = route.params.id || route.query.id
</script>

2. 原生 JavaScript 方法

使用 URLSearchParams

export default {
  methods: {
    getUrlParams() {
      const urlParams = new URLSearchParams(window.location.search)
      return {
        id: urlParams.get('id'),
        name: urlParams.get('name')
      }
    }
  },
  created() {
    const params = this.getUrlParams()
    console.log(params.id, params.name)
  }
}

傳統(tǒng) URL 解析

export default {
  methods: {
    getQueryVariable(variable) {
      const query = window.location.search.substring(1)
      const vars = query.split('&')
      for (let i = 0; i < vars.length; i++) {
        const pair = vars[i].split('=')
        if (pair[0] === variable) {
          return decodeURIComponent(pair[1])
        }
      }
      return null
    }
  },
  created() {
    const id = this.getQueryVariable('id')
    const name = this.getQueryVariable('name')
  }
}

3. 監(jiān)聽參數(shù)變化

export default {
  watch: {
    '$route.query': {
      handler(newQuery) {
        // 查詢參數(shù)變化時執(zhí)行
        console.log('參數(shù)變化:', newQuery)
      },
      immediate: true // 立即執(zhí)行一次
    },
    
    '$route.params': {
      handler(newParams) {
        // 路由參數(shù)變化時執(zhí)行
        console.log('路由參數(shù)變化:', newParams)
      },
      immediate: true
    }
  }
}

4. 完整示例

<template>
  <div>
    <h2>用戶信息</h2>
    <p>用戶ID: {{ userId }}</p>
    <p>用戶名: {{ userName }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      userId: null,
      userName: null
    }
  },
  created() {
    this.getParams()
  },
  watch: {
    '$route': 'getParams' // 路由變化時重新獲取參數(shù)
  },
  methods: {
    getParams() {
      // 優(yōu)先使用路由參數(shù),其次使用查詢參數(shù)
      this.userId = this.$route.params.id || this.$route.query.id
      this.userName = this.$route.query.name
      
      console.log('用戶ID:', this.userId)
      console.log('用戶名:', this.userName)
    }
  }
}
</script>

使用建議

  • ?優(yōu)先使用 Vue Router? - 更加集成和方便
  • ?考慮參數(shù)類型轉(zhuǎn)換? - URL 參數(shù)都是字符串,需要時進行類型轉(zhuǎn)換
  • ?處理參數(shù)不存在的情況? - 添加適當?shù)哪J值或錯誤處理
  • ?監(jiān)聽參數(shù)變化? - 如果需要在同一組件內(nèi)響應(yīng)參數(shù)變化

選擇哪種方法主要取決于你的項目是否使用了 Vue Router 以及具體的業(yè)務(wù)需求。

到此這篇關(guān)于vue獲取url上參數(shù)的常見方法小結(jié)的文章就介紹到這了,更多相關(guān)vue獲取url參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue實現(xiàn)將網(wǎng)頁內(nèi)容轉(zhuǎn)換為圖片并保存到本地

    Vue實現(xiàn)將網(wǎng)頁內(nèi)容轉(zhuǎn)換為圖片并保存到本地

    在?Vue2?項目中,將網(wǎng)頁內(nèi)容轉(zhuǎn)換為圖片并保存到本地,常??梢酝ㄟ^第三方庫實現(xiàn),本文為大家整理了常用方案,實現(xiàn)步驟及示例代碼,需要的可以了解下
    2025-05-05
  • vue使用Google地圖的實現(xiàn)示例代碼

    vue使用Google地圖的實現(xiàn)示例代碼

    這篇文章主要介紹了vue使用Google地圖的實現(xiàn)示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • vue中keep-alive的使用及說明

    vue中keep-alive的使用及說明

    這篇文章主要介紹了vue中keep-alive的使用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • vue中sync語法糖的用法詳解

    vue中sync語法糖的用法詳解

    Vue的.sync語法糖是一個用于雙向數(shù)據(jù)綁定的指令,可以在子組件中用來監(jiān)聽父組件傳遞下來的props的變化,本文給大家介紹了在Vue中,.sync語法糖的使用方法,感興趣的朋友跟著小編一起來學(xué)習(xí)吧
    2024-01-01
  • vue 函數(shù)調(diào)用加括號與不加括號的區(qū)別

    vue 函數(shù)調(diào)用加括號與不加括號的區(qū)別

    這篇文章主要介紹了vue 函數(shù)調(diào)用加括號與不加括號的區(qū)別,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-10-10
  • element-ui?tree?手動展開功能實現(xiàn)(異步樹也可以)

    element-ui?tree?手動展開功能實現(xiàn)(異步樹也可以)

    這篇文章主要介紹了element-ui?tree?手動進行展開(異步樹也可以),項目中用到了vue的element-ui框架,用到了el-tree組件,需要的朋友可以參考下
    2022-08-08
  • vue登錄注冊及token驗證實現(xiàn)代碼

    vue登錄注冊及token驗證實現(xiàn)代碼

    在vue單頁中,我們可以通過監(jiān)控route對象,從中匹配信息去決定是否驗證token,然后定義后續(xù)行為。下面通過實例代碼給大家分享vue登錄注冊及token驗證功能,需要的朋友參考下吧
    2017-12-12
  • vue2.0父子組件間傳遞數(shù)據(jù)的方法

    vue2.0父子組件間傳遞數(shù)據(jù)的方法

    本文通過一個小例子給大家介紹了vue2.0父子組件間傳遞數(shù)據(jù)的方法,需要的朋友參考下吧
    2018-08-08
  • Element-UI組件實現(xiàn)面包屑導(dǎo)航欄的示例代碼

    Element-UI組件實現(xiàn)面包屑導(dǎo)航欄的示例代碼

    面包屑導(dǎo)航欄是一種用戶界面組件,用于展示用戶在網(wǎng)站或應(yīng)用中的路徑,它包括了從主頁到當前頁面的鏈接序列,有助于用戶快速了解和導(dǎo)航至上級頁面,本文就來介紹一下Element-UI組件實現(xiàn)面包屑導(dǎo)航欄的示例代碼,感興趣的可以了解一下
    2024-09-09
  • Vue3引入騰訊地圖包含標注簡易操作指南

    Vue3引入騰訊地圖包含標注簡易操作指南

    這篇文章主要介紹了Vue3引入騰訊地圖的相關(guān)資料,并實現(xiàn)點擊地圖添加標注的功能,示例代碼提供了添加單個或多個標注的方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-09-09

最新評論

理塘县| 贡嘎县| 北海市| 白银市| 晋城| 无为县| 湛江市| 南华县| 镇康县| 昌都县| 乐至县| 犍为县| 孝昌县| 金溪县| 武夷山市| 松阳县| 吉林省| 弋阳县| 江都市| 赞皇县| 金川县| 上虞市| 额敏县| 邻水| 垦利县| 河间市| 屏山县| 平湖市| 沙田区| 兴和县| 长白| 安多县| 宁津县| 扶沟县| 怀仁县| 南川市| 漠河县| 大连市| 琼结县| 赣州市| 吴忠市|