VUE參考---設置router-link激活樣式


VUE參考---設置router-link激活樣式

一、總結

一句話總結:

設置router-link激活時候的樣式,直接設置 router-link-active
設置router-link激活時候的樣式,直接設置 router-link-active

    .router-link-active {
      color: red;
      font-weight: 800;
      font-style: italic;
      font-size: 80px;
      text-decoration: underline;
      background-color: green;
    }

 

 

1、給router-link設置激活樣式的本質?

都是linkActiveClass指定了激活的link class,默認沒設置的情況linkActiveClass為router-link-active,當然我們也可以指定linkActiveClass,比如myactive
    // 2. 創建一個路由對象, 當 導入 vue-router 包之后,在 window 全局對象中,就有了一個 路由的構造函數,叫做 VueRouter
    // 在 new 路由對象的時候,可以為 構造函數,傳遞一個配置對象
    var routerObj = new VueRouter({
      // route // 這個配置對象中的 route 表示 【路由匹配規則】 的意思
      routes: [ // 路由匹配規則 
        // 每個路由規則,都是一個對象,這個規則對象,身上,有兩個必須的屬性:
        //  屬性1 是 path, 表示監聽 哪個路由鏈接地址;
        //  屬性2 是 component, 表示,如果 路由是前面匹配到的 path ,則展示 component 屬性對應的那個組件
        // 注意: component 的屬性值,必須是一個 組件的模板對象, 不能是 組件的引用名稱;
        // { path: '/', component: login },
        { path: '/', redirect: '/login' }, // 這里的 redirect 和 Node 中的 redirect 完全是兩碼事
        { path: '/login', component: login },
        { path: '/register', component: register }
      ],
      linkActiveClass: 'myactive'
    })

  <style>
    .router-link-active,
    .myactive {
      color: red;
      font-weight: 800;
      font-style: italic;
      font-size: 80px;
      text-decoration: underline;
      background-color: green;
    }
  </style>

 

 

2、多去看api文檔?

無論是vue,還是vue-router,看api文檔,整體層次都非常清楚

 

 

 

二、設置router-link激活樣式

博客對應課程的視頻位置:

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 
 4 <head>
 5   <meta charset="UTF-8">
 6   <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7   <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8   <title>Document</title>
 9   <script src="./lib/vue-2.4.0.js"></script>
10   <!-- 1. 安裝 vue-router 路由模塊 -->
11   <script src="./lib/vue-router-3.0.1.js"></script>
12   <style>
13     .router-link-active,
14     .myactive {
15       color: red;
16       font-weight: 800;
17       font-style: italic;
18       font-size: 80px;
19       text-decoration: underline;
20       background-color: green;
21     }
22 
23     .v-enter,
24     .v-leave-to {
25       opacity: 0;
26       transform: translateX(140px);
27     }
28 
29     .v-enter-active,
30     .v-leave-active {
31       transition: all 0.5s ease;
32     }
33   </style>
34 </head>
35 
36 <body>
37   <div id="app">
38 
39     <!-- <a href="#/login">登錄</a> -->
40     <!-- <a href="#/register">注冊</a> -->
41 
42     <!-- router-link 默認渲染為一個a 標簽 -->
43     <router-link to="/login" tag="span">登錄</router-link>
44     <router-link to="/register">注冊</router-link>
45 
46 
47     <!-- 這是 vue-router 提供的元素,專門用來 當作占位符的,將來,路由規則,匹配到的組件,就會展示到這個 router-view 中去 -->
48     <!-- 所以: 我們可以把 router-view 認為是一個占位符 -->
49     <transition mode="out-in">
50       <router-view></router-view>
51     </transition>
52 
53   </div>
54 
55   <script>
56     // 組件的模板對象
57     var login = {
58       template: '<h1>登錄組件</h1>'
59     }
60 
61     var register = {
62       template: '<h1>注冊組件</h1>'
63     }
64 
65 
66     /*  Vue.component('login', {
67        template: '<h1>登錄組件</h1>'
68      }) */
69 
70     // 2. 創建一個路由對象, 當 導入 vue-router 包之后,在 window 全局對象中,就有了一個 路由的構造函數,叫做 VueRouter
71     // 在 new 路由對象的時候,可以為 構造函數,傳遞一個配置對象
72     var routerObj = new VueRouter({
73       // route // 這個配置對象中的 route 表示 【路由匹配規則】 的意思
74       routes: [ // 路由匹配規則 
75         // 每個路由規則,都是一個對象,這個規則對象,身上,有兩個必須的屬性:
76         //  屬性1 是 path, 表示監聽 哪個路由鏈接地址;
77         //  屬性2 是 component, 表示,如果 路由是前面匹配到的 path ,則展示 component 屬性對應的那個組件
78         // 注意: component 的屬性值,必須是一個 組件的模板對象, 不能是 組件的引用名稱;
79         // { path: '/', component: login },
80         { path: '/', redirect: '/login' }, // 這里的 redirect 和 Node 中的 redirect 完全是兩碼事
81         { path: '/login', component: login },
82         { path: '/register', component: register }
83       ],
84       linkActiveClass: 'myactive'
85     })
86 
87     // 創建 Vue 實例,得到 ViewModel
88     var vm = new Vue({
89       el: '#app',
90       data: {},
91       methods: {},
92       router: routerObj // 將路由規則對象,注冊到 vm 實例上,用來監聽 URL 地址的變化,然后展示對應的組件
93     });
94   </script>
95 </body>
96 
97 </html>

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM