路由的傳參

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .text{
            color: brown;
        }
    </style>
</head>
<body>
<div id="itany">
    <router-link to="/home">首頁</router-link>
    <router-link to="/user">用戶頁</router-link>
    <router-view></router-view>
</div>
<script src='dist/vue.js'></script>
<script src="dist/vue-router.js"></script>
<script>
    //2.創(chuàng)造組件
    var Home={
        template:`
        <h1>這是首頁</h1>
        `
    }
    var User={
        template:`
            <div>
                <h1>這是用戶頁</h1>
                <ul>
                    <li>
                        //查詢字符串
                        <router-link to="/User/regist?uname=jack&pack=123">登錄</router-link>
                    </li>
                    <li>
                        <router-link to="/User/login/rose/456">注冊</router-link>
                    </li>
                </ul>
            <router-view></router-view>
            </div>
        `
    }
    var Regist={
        template:`
             <div>
                <h3>這是注冊頁</h3>
                //接收:
                <a href="">{{$route.query.uname}}</a>
                <a href="">{{$route.query.pack}}</a>
             </div>
          `
    }

    var Login={
        template:`
             <div>
                <h3>這是登錄頁</h3>
                <a href="">{{$route.params.uname}}</a>
                <a href="">{{$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}
            ]
        }
    ]
    //4.創(chuàng)建路由實例
    const router=new VueRouter({
        routes:routes,
        linkActiveClass:'text'
    })
    new Vue({
        el:'#itany',
        router:router
    })
</script>
</body>
</html>

路由傳參有兩個方式:params 與 query
兩種方式的區(qū)別

1.query要用path來引入,params要用name來引入,接收參數(shù)都是類似的,分別是this.route.query.name和this.route.params.name。
2.query更加類似于我們ajax中g(shù)et傳參,params則類似于post,說的再簡單一點,前者在瀏覽器地址欄中顯示參數(shù),后者則不顯示

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容