美文网首页
vue路由传参

vue路由传参

作者: 婲魢銣佌亾荷姒堪 | 来源:发表于2018-09-26 19:29 被阅读0次

两类:

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>

相关文章

网友评论

      本文标题:vue路由传参

      本文链接:https://www.haomeiwen.com/subject/hkpjoftx.html