Vue-router之初體驗

之前在做網站時頁面與頁面之間的轉換都是使用a鏈接跳頁面的方式進行跳轉的,這樣就會帶來一個問題,那就是響應時間會變慢並且會時常出現卡頓的現象,這就讓人很不舒服了。因此我開始在關注上Vue全家桶之一的vue-router。走路由的好處在於:**通過路由來加載頁面,不會讓你重新刷新這個頁面,而是可以做到局部頁面組件的替換(隱藏或者顯示),一開始加載的一些CSS,JavaScript文件都不用再次重新加載了,網頁上的響應速度當然是會變快了。**在這裏不得不稱讚一下Vue的強大,給尤大大點個贊!
首先我們按照國際慣例,先來Vue官方指南上瞅瞅Router實例

這裏寫圖片描述

官網已經將router解釋的很明白了,首先,他傳遞給人了一種組件化的思想。所謂組件化,就是將大大小小dom進行拆分,將一個網站拆分成很多很多的小零件,然後再將這些小零件映射到路由上,接着我們需要做的就是告訴vue-router我的這些小零件該渲染到什麼位置,也可以說vue-router就是一種工具。接下來我們來看一下官方所給出的栗子:

<div id="app">
    <h1>Hello App!</h1>
    <p>
        <!-- 使用 router-link 組件來導航. -->
        <!-- 通過傳入 `to` 屬性指定鏈接. -->
        <!-- <router-link> 默認會被渲染成一個 `<a>` 標籤 -->
        <router-link to="/foo">Go to Foo</router-link>
        <router-link to="/bar">Go to Bar</router-link>
    </p>
    <!-- 路由出口 -->
    <!-- 路由匹配到的組件將渲染在這裏 -->
    <router-view class="view"></router-view>
</div>

這個router-link我們可以將其理解爲導航,這有點類似於HTML中的a鏈接而router-view呢相當於是一個 iframe ,但是頁面是不需要跳轉的。router-link 還有一個非常重要的屬性 to, 它定義點擊之後,要到哪個路徑下,比如<router-link to="/foo">Go to Foo</router-link> 就是指向/foo下對應的那個名爲Foo的組件,而Foo則對應着一個<div class="tt">foo</div> 的組件。

<script>
        // 0. 如果使用模塊化機制編程,導入Vue和VueRouter,要調用 Vue.use(VueRouter)

        // 1. 定義(路由)組件。
       // 可以從其他文件 import 進來
       const Foo = { template: '<div class="tt">foo</div>' }
       const Bar = { template: '<div>bar</div>' }

       // 2. 定義路由
	// 每個路由應該映射一個組件。 其中"component" 可以是
	// 通過 Vue.extend() 創建的組件構造器,
	// 或者,只是一個組件配置對象。
	// 我們晚點再討論嵌套路由。
	const routes = [
	  { path: '/foo', component: Foo },
	  { path: '/bar', component: Bar }
	]

	// 3. 創建 router 實例,然後傳 `routes` 配置
	// 你還可以傳別的配置參數, 不過先這麼簡單着吧。
	const router = new VueRouter({
	  routes // (縮寫)相當於 routes: routes
	})
	
	// 4. 創建和掛載根實例。
	// 記得要通過 router 配置參數注入路由,
	// 從而讓整個應用都有路由功能
	const app = new Vue({
	  router
	}).$mount('#app')
	
	// 現在,應用已經啓動了!
    </script>

在這裏我要說一下什麼是path。path就是路徑,路由就是什麼樣的路徑訪問什麼樣的頁面,就像道路上的路牌一樣。path 這裏表示這個站點什麼樣的路徑到什麼樣的頁面組件。template中可以定義一些組件,也可以通過import將文件引進來。$mount()這個哥們和el:的效果是一樣一樣的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章