vue路由传参两种方式—分别操作query和parames

注意:

1.第一种方式:通过在router-link中用?&等符号进行操作,操作的是query元素

2.第二种方式:在routeer-link中给id赋值,将占位符的位置取代,操作的是parames元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../lib/vue.js"></script>
    <script src="../lib/vue-router.js"></script>
</head>
<body>
      <div id="app">
          <router-link to="/login?id=5&name=陈小小">登录</router-link>
          <!--第一种方式:通过在router-link中用?&等符号进行操作,操作的是query元素-->
          <router-link to="/register/5">注册</router-link>
          <!--第二种方式:在routeer-link中给id赋值,将占位符的位置取代,操作的是parames元素-->

          <router-view></router-view>
      </div>

      <script>
          var login = {
              template:'<h1>登录页面  +++  {{ $route.path }}  +++  {{ $route.query.name}}</h1>',
              //此处的this代表这个情况下的vue实例,可以省去
              created(){
                  console.log(this.$route)
              }
          };
          //组件模板对象

          var register = {
              template:'<h1>注册页面 ++++ {{ $route.params.id }}</h1>',
              created(){
                  console.log(this.$route)
              }
          };

          var routerObj = new VueRouter({
              routes:[
                  {path:'/',redirect:'/register'},
                  {path:'/login',component:login},
                  {path:'/register/:id',component:register}
                  //第二种方式:id表示占位符,在routeer-link中给id赋值
                
              ]
          });
          
          var vm = new Vue({
              el:'#app',
              data:{},
              router:routerObj
          })
      </script>
</body>
</html>

效果:

猜你喜欢

转载自blog.csdn.net/qq_42036616/article/details/82960997
今日推荐