Vue鏈接中傳遞參數


router中添加參數

import Vue from 'vue'
import Router from 'vue-router'
import About from '@/components/About'
import Home from '@/components/Home'
import User from '@/components/User'
import VueRouter from 'vue-router'

// 導入路由對象
Vue.use(Router)
// 創建VueRouter對象
const routes = [
  {
    // 默認值
    path:'',
    redirect:'/home'
  },
  {
    path:'/home',
    component:Home
  },
  {
    path:'/about',
    component:About
  },
  {
    path:'/user/:userId',
    component:User
  }
]
// 創建路由和組件之間的映射關系
const router = new VueRouter({
  routes,
  mode:'history', // 默認是hash模式
  linkActiveClass:'active' // 激活樣式
});

export default router

App.Vue中傳遞參數

<template>
  <div id="app">
    <h1>我是app首頁</h1>
    <router-link to="/home">首頁</router-link>
    <router-link to="/about">關於</router-link>
    <router-link :to="'/user/'+userId">用戶</router-link>
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  name: "App",
  data() {
    return {
      userId: "笨蛋"
    };
  }
};
</script>

<style>
</style>

 

頁面中接受參數

<template>
<div>
     <h2>用戶界面</h2>
    <p> {{$route.params.userId}}</p>
</div>

</template>

<script>
export default {
   name:'User'
}
</script>

<style>

</style>

 通過query傳遞參數

App.vue

<template>
  <div id="app">
    <h1>我是app首頁</h1>
    <router-link to="/home">首頁</router-link>
    <router-link to="/about">關於</router-link>
    <router-link :to="{path:'/user/'+userId, query:{name:'zhansan',age:18,hobby:'足球'}}">用戶</router-link>
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  name: "App",
  data() {
    return {
      userId: "笨蛋"
    };
  }
};
</script>

<style>
</style>

User.vue

<template>
  <div>
    <h2>用戶界面</h2>
    <p>{{$route.params.userId}}</p>
    <p>{{$route.query.name}}</p>
    <p>{{$route.query.age}}</p>
    <p>{{$route.query.hobby}}</p>
  </div>
</template>

<script>
export default {
  name: "User"
};
</script>

<style>
</style>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM