亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue3獲取url地址參數(shù)的示例詳解

 更新時(shí)間:2023年04月24日 15:17:06   作者:xxx1122。  
這篇文章主要介紹了vue3獲取url地址參數(shù),Vue3?獲取地址欄參數(shù)有兩個(gè)方式:查詢參數(shù)和路徑參數(shù),文中結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友可以參考下

vue3獲取url地址參數(shù)

import { useRouter, useRoute } from 'vue-router';
setup() {
	 let router = useRouter();
     let route = useRoute();
 
 }
 function GetRequest(value) {
    var url = decodeURI(window.location.search); //?id="123456"&name="www";
    var object = {};
    if (url.indexOf("?") != -1)//url中存在問(wèn)號(hào),也就說(shuō)有參數(shù)。  
    {
      var str = url.substr(1);  //得到?后面的字符串
      var strs = str.split("&");  //將得到的參數(shù)分隔成數(shù)組[id="123456",name="www"];
      for (var i = 0; i < strs.length; i++) {
        object[strs[i].split("=")[0]] = strs[i].split("=")[1];//得到{id:'123456',name:'www'}
      }
    }
    return object[value];
  }

附錄:Vue3獲取地址欄參數(shù)

Vue3 獲取地址欄參數(shù)有兩個(gè)方式:查詢參數(shù)和路徑參數(shù)。

Vue3獲取地址欄參數(shù)是從路由router中獲取,查詢參數(shù)和路徑參數(shù)獲取方式不一樣。

一、查詢參數(shù)

比如地址 http://127.0.0.1:5173/?code=123123,
我們要獲取code參數(shù)可以路由router獲取,注意是route.query

首先需要在router/index.js中定義好路由

import { createRouter, createWebHistory } from 'vue-router'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'home',
      component: () => import('../views/home.vue')
    },
  ]
})

export default router

然后就可以在組件中通過(guò)useRouter獲取query參數(shù)了

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

const { currentRoute } = useRouter();
const route = currentRoute.value;

onMounted(()=>{
  let code=route.query.code
  console.log('code', code)
})

</script>

二、路徑參數(shù)

路徑參數(shù)指的是參數(shù)是拼接在地址欄中的。
比如地址 http://127.0.0.1:5173/123123
最后的123123就是參數(shù)。

這種參數(shù)首先要定義要路由,在路由中對(duì)參數(shù)進(jìn)行命名,下面代碼中:code就是命名一個(gè)路徑參數(shù)code

首先需要在router/index.js中定義好路由以及路徑參數(shù)

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

const { currentRoute } = useRouter();
const route = currentRoute.value;

onMounted(()=>{
  let code=route.query.code
  console.log('code', code)
})

</script>

接著就可以在home.vue組件中通過(guò)路由useRouter得到參數(shù),注意是route.params

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

const { currentRoute } = useRouter();
const route = currentRoute.value;

onMounted(()=>{
  let code=route.params.code
  console.log('code', code)
})

</script>

三、注意點(diǎn)

入口頁(yè)面App.vue必須定義好router-view標(biāo)簽,不能圖簡(jiǎn)單將上面定義的home組件直接引入到App.vue中,如果直接引入走的就不是路由了,因而通過(guò)useRouter也無(wú)法獲取到路由參數(shù)了

如下錯(cuò)誤示例:

<template>
  <div id="app">
    <home></home>
  </div>

</template>

<script setup>
import home from './views/home.vue';
</script>

正確應(yīng)該是使用router-view標(biāo)簽

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>
<script setup>

</script>

到此這篇關(guān)于vue3獲取url地址參數(shù)的文章就介紹到這了,更多相關(guān)vue3地址參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論