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>