2018-09-24 路由

1.路由:vue-router
vue的核心插件
根據(jù)不同的url訪問不同的頁(yè)面
創(chuàng)建單頁(yè)面SPA(SINGLE PAGE APPLICATION)應(yīng)用
2.安裝vue-router.js

  npm install vue-router

3.路由的創(chuàng)建

<body>
 <a></a>
  <div id='app'>
     <!--1.-->
     <router-link to='/home'>首頁(yè)</router-link>
     <router-link to='/user'>用戶頁(yè)</router-link> 
     
    <!-- 盛放鏈接對(duì)應(yīng)的內(nèi)容-->
      <router-view></router-view>
  </div>
   <script src='js/vue.js'></script> 
   <script src='js/vue-router.js'></script>
   <script>
       //2.創(chuàng)建組件
       var Home={
           template:`
             <h1>這是首頁(yè)</h1>
           `
       }
       
       var User={
           template:`
                <h1>這是用戶頁(yè)</h1>
            `
       }
       
       //3.配置路由
       const  routes=[
           {path:'/home',component:Home},
           {path:'/user',component:User}
       ]
       
       //4.創(chuàng)建路由實(shí)例
       const router=new VueRouter({
           routes:routes
       })
       
       //5.路由實(shí)例掛載到vue實(shí)例上
       new Vue({
           el:'#app',
           router:router
       })
</script>
</body>

4.樣式設(shè)置

<style>
/*
        .router-link-active{
            color:red;
        } 
*/
        .active{
            color:red;
        }
    </style>
</head>
<body>
 <a></a>
  <div id='app'>
     <!--1.-->
     <router-link to='/home'>首頁(yè)</router-link>
     <router-link to='/user'>用戶頁(yè)</router-link> 
     
    <!-- 盛放鏈接對(duì)應(yīng)的內(nèi)容-->
      <router-view></router-view>
  </div>
   <script src='js/vue.js'></script> 
   <script src='js/vue-router.js'></script>
   <script>
       //2.創(chuàng)建組件
       var Home={
           template:`
             <h1>這是首頁(yè)</h1>
           `
       }
       
       var User={
           template:`
                <h1>這是用戶頁(yè)</h1>
            `
       }
       
       //3.配置路由
       const  routes=[
           {path:'/',component:Home},
           {path:'/home',component:Home},
           {path:'/user',component:User}
       ]
       
       //4.創(chuàng)建路由實(shí)例
       const router=new VueRouter({
           routes:routes,
           linkActiveClass:'active'
       })
       
       //5.路由實(shí)例掛載到vue實(shí)例上
       new Vue({
           el:'#app',
           router:router
       })
</script>
</body>

5.路由的嵌套

<body>
  <div id='app'>
   <!--1.-->
   <router-link to='/index'>首頁(yè)</router-link>
   <router-link to='/user'>用戶頁(yè)</router-link>
   <router-view></router-view>
  </div>
   <script src='js/vue.js'></script> 
   <script src='js/vue-router.js'></script>
   <script>
       //2.創(chuàng)建組件
       var  Index={
           template:`
             <h1>這是首頁(yè)</h1>
           `
       }
       var User={
           template:`
           <div>
             <h1>這是用戶頁(yè)</h1>
             <ul>
               <li>
                  <router-link to='/user/regist'>注冊(cè)</router-link>
               </li> 
                <li>
                  <router-link to='/user/login'>登錄</router-link>
               </li>
            </ul>
            <router-view></router-view>
           </div>
         `
       }
       
       
       var Regist={
           template:`
             <h3>這是注冊(cè)頁(yè)</h3>
          `
       }
       
        var Login={
           template:`
             <h3>這是登錄頁(yè)</h3>
          `
       }
       
       //3.配置路由
       const routes=[
           {path:'/',component:Index},
           {path:'/index',component:Index},
           {
               path:'/user',
               component:User,
               children:[
                   {path:'regist',component:Regist},
                   {path:'login',component:Login}
               ]
           }
       ]
       
       //4.創(chuàng)建路由實(shí)例
       const router=new VueRouter({
           routes:routes
       })
       
       //5.把路由實(shí)例掛載到vue實(shí)例上
      new Vue({
          el:'#app',
          router:router//注冊(cè)路由
      })
      
    </script>
</body>

6.路由的傳參
1.查詢字符串:

       /user/regist?uname=jack&upwd=123
      接收:
          {{$route.query}}

2.rest風(fēng)格傳參

          /user/login/rose/456   
     接收:
          {{$route.params}}
<body>
   <div id='app'>
       <router-link to='/home'>首頁(yè)</router-link>
       <router-link to='/user'>用戶頁(yè)</router-link>
       
        <router-view></router-view>
   </div>
    <script src='js/vue.js'></script>
    <script src='js/vue-router.js'></script>
    <script>
       //2
        var Home={
            template:`
             <div>我是首頁(yè)</div>
            `
        }
         var User={
            template:`
             <div>

                  我是用戶頁(yè)
                 <p>
                    <router-link to='/user/regist?uname=jack&upwd=123'>注冊(cè)</router-link>
                  </p>
                 <p>
                    <router-link to='/user/login/rose/456'>登錄</router-link>
                  </p>
                   <router-view></router-view>
             </div>
            `
        }
        var Regist={
            template:`
               <div>
               <h1>這是注冊(cè)頁(yè)面</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>這是登錄頁(yè)面</h1>
                   <a>{{$route.params}}</a>
                   <a>{{$route.params.uname}}</a>
                   <a>{{$route.params.upwd}}</a>
                 </div>
                `
        }  
      //3.
         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)建實(shí)例
         const router=new VueRouter({
             routes:routes
         })
         
         
      new Vue({
          el:"#app",
          router:router
      })
    </script>
</body>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 1.簡(jiǎn)單實(shí)例 vue的核心插件,可創(chuàng)建單頁(yè)面應(yīng)用又叫SPA(SIWGLE PAGE APPLICATIDN)應(yīng)用V...
    簡(jiǎn)單浪閱讀 273評(píng)論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • 一、前言 要學(xué)習(xí)vue-router就要先知道這里的路由是什么?為什么我們不能像原來一樣直接用 標(biāo)簽編寫鏈接哪?...
    浪里行舟閱讀 68,153評(píng)論 12 203
  • 臘末寒凌春早歸,絨絨瀟雪無意回。 戀戀雪梅凝睛望,不忍熏梅染綠柳。 春來舊人添新歲,兩鬢青絲添白灰。 對(duì)鏡苦笑時(shí)易...
    冬月霧松閱讀 408評(píng)論 0 0
  • 一夜沒睡,眼睛閉了又睜,身體輾轉(zhuǎn)反側(cè),終究是熬到了早上。 就在前幾天,我經(jīng)歷了人生的一個(gè)重大變故,我的奶奶離世了,...
    煎蛋小姐閱讀 339評(píng)論 0 0

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