学习vue第二十三节,路由传参方法

 

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="lib/vue-2.4.0.js"></script>
  <!-- 1. 安装 vue-router 路由模块 -->
  <script src="lib/vue-router-3.0.1.js"></script>
  <style>
      
      /* 
      当展示哪个路由,router-link标签就会加上两个class
       router-link-exact-active router-link-active
       */
    .router-link-active,
    .myactive {
      background-color: #1B6D85;
    }

    .v-enter,
    .v-leave-to {
      opacity: 0;
      transform: translateX(140px);
    }

    .v-enter-active,
    .v-leave-active {
      transition: all 0.5s ease;
    }
    .a{
        width: 200px;
        height: 200px;
        background-color: red;
    }
    .b{
        width: 200px;
        height: 200px;
        background-color: green;
    }
  </style>
</head>

<body>
  <div id="app">
      <!-- 路由可以自己传参数 -->
        <router-link to="/login?id=10&name='张三'" tag="span">login</router-link>
        <router-link to="/register" tag="span">register</router-link>
        
         <transition mode="out-in">
             <router-view></router-view>
         </transition>
        
        
  </div>
        

  <script>
      // 组件模板对象
    var login={
        template:"<div class='a'>login---id-{{$route.query.id}}--{{$route.query.name}}</div>",
        created(){
            // 通过$route.query方法得到参数
            console.log(this.$route.query.id)
        }
        
    }
   var register={
       template:"<div class='b'>register</div>"
   }
   
   // 2.创建路由对象。当导入路由的包时,就有了一个路由的构造函数  
   
   var rout=new VueRouter({
       routes:[
           {path:'/',redirect:'/login'}, //redirect 重定向,是根路径是跳转到某个url地址上
           {path:'/login',component:login},
           {path:'/register',component:register}
       ],
       linkActiveClass:'myactive'
       
   })
    // 创建 Vue 实例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {},
      methods: {},
      router: rout // 将路由规则对象,注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件
    });
  </script>
</body>

</html>
复制代码

传参二

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="lib/vue-2.4.0.js"></script>
  <!-- 1. 安装 vue-router 路由模块 -->
  <script src="lib/vue-router-3.0.1.js"></script>
  <style>
      
      /* 
      当展示哪个路由,router-link标签就会加上两个class
       router-link-exact-active router-link-active
       */
    .router-link-active,
    .myactive {
      background-color: #1B6D85;
    }

    .v-enter,
    .v-leave-to {
      opacity: 0;
      transform: translateX(140px);
    }

    .v-enter-active,
    .v-leave-active {
      transition: all 0.5s ease;
    }
    .a{
        width: 200px;
        height: 200px;
        background-color: red;
    }
    .b{
        width: 200px;
        height: 200px;
        background-color: green;
    }
  </style>
</head>

<body>
  <div id="app">
      <!-- 路由可以自己传参数 -->
        <router-link to="/login/12/'张三'" tag="span">login</router-link>
        <router-link to="/register" tag="span">register</router-link>
        
         <transition mode="out-in">
             <router-view></router-view>
         </transition>
        
        
  </div>
        

  <script>
      // 组件模板对象
    var login={
        template:"<div class='a'>login---id-{{$route.params.id}}name--{{$route.params.name}}</div>",
        created(){
            // 通过$route.params 方法得到参数
            console.log(this.$route.params.id)
        }
        
    }
   var register={
       template:"<div class='b'>register</div>"
   }
   
   // 2.创建路由对象。当导入路由的包时,就有了一个路由的构造函数  
   
   var rout=new VueRouter({
       routes:[
           {path:'/',redirect:'/login'}, 
           {path:'/login/:id/:name',component:login},//路由匹配规则定义变量
           {path:'/register',component:register}
       ],
       linkActiveClass:'myactive'
       
   })
    // 创建 Vue 实例,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {},
      methods: {},
      router: rout // 将路由规则对象,注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件
    });
  </script>
</body>

</html>
复制代码

 

posted @   三线码工  阅读(193)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示