vue路由传参

两类:

1.查询字符串:
例: /user/regist?uname=jack&upwd=123
接收:
{{$route.query}}

\color{orange}{例:}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="js/vue.js"></script>
    <script src="js/vue-router.js"></script>
</head>
<body>
<div id="app">
    <router-link to='/home'>首页</router-link>
    <router-link to='/user'>用户页</router-link>
    <router-view></router-view>
</div>
<script>
    var Home={
        template:`
         <div>我是首页</div>   
    `
    }
    var User={
        template:`
        <div>
            我是用户页
            <p>
                <router-link to='/user/regist?uname=jack&upwd=123'>注册</router-link>
            </p>
            <p>
                <router-link to='/user/login'>登录</router-link>
            </p>
            <router-view></router-view>
        </div>
    `
    }
    var Regist={
        template:`
            <div>
               <h1>这是注册页</h1>
               <a href="">{{$route.query}}</a>
               <a href="">uname:{{$route.query.uname}}</a>
               <a href="">upwd:{{$route.query.upwd}}</a>
           </div>
    `
    }
    var Login={
        template:`
            <div>
               <h1>这是登录页</h1>
           </div>
    `
    }
    const routes=[
         {path:'/',component:Home},
         {path:'/home',component:Home},
         {
             path:'/user',
             component:User,
             children:[
                 {path:'regist',component:Regist},
                 {path:'login/:uname/:upwd',component:Login}
             ]
         }
     ]
     const router=new VueRouter({
         routes:routes
     })
    new Vue({
        el:'#app',
        router:router
    })
</script>
</body>
</html>

2.rest风格传参
例: /user/login/rose/456
接收:
{{$route.params}}

\color{orange}{例:}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="js/vue.js"></script>
    <script src="js/vue-router.js"></script>
</head>
<body>
<div id="app">
    <router-link to='/home'>首页</router-link>
    <router-link to='/user'>用户页</router-link>
    <router-view></router-view>
</div>
<script>
    var Home={
        template:`
         <div>我是首页</div>   
    `
    }
    var User={
        template:`
        <div>
            我是用户页
            <p>
                <router-link to='/user/regist'>注册</router-link>
            </p>
            <p>
                <router-link to='/user/login/rose/456'>登录</router-link>
            </p>
            <router-view></router-view>
        </div>
    `
    }
    var Regist={
        template:`
            <div>
               <h1>这是注册页</h1>
           </div>
    `
    }
    var Login={
        template:`
            <div>
               <h1>这是登录页</h1>
               <a>{{$route.params}}</a>
               <a>{{$route.params.uname}}</a>
               <a>{{$route.params.upwd}}</a>
           </div>
    `
    }
    const routes=[
         {path:'/',component:Home},
         {path:'/home',component:Home},
         {
             path:'/user',
             component:User,
             children:[
                 {path:'regist',component:Regist},
                 {path:'login/:uname/:upwd',component:Login}
             ]
         }
     ]
     const router=new VueRouter({
         routes:routes
     })
    new Vue({
        el:'#app',
        router:router
    })
</script>

</body>
</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 路由的传参: 1,查询字符串: 路径?uname=jack&upwd=123 接收:{{$route.query}...
    张鑫冲阅读 2,688评论 0 1
  • Vue router如何传参 params、query是什么? params:/router1/:id ,/rou...
    _daraDu阅读 2,563评论 0 0
  • 路由基础知识 router和route的区别 route,是一个路由。 routes,是一组路由。 router,...
    lesdom阅读 5,542评论 5 13
  • 动态路由: 当我们很多个页面或者组件都要被很多次重复利用的时候,我们的路由都指向同一个组件,这时候从不同组件进入一...
    遇而记起阅读 5,442评论 1 5
  • 最近的nuxt项目中经常会用到路由传参,故在此有所总结了下nuxt中传参的方式和vue项目中传参的方式 nuxt ...
    山中经阅读 21,379评论 0 4