什么是路由
什么是路由?網絡原理中,路由指的是根據上一接口的數據包中的IP地址,查詢路由表轉發到另一個接口,它決定的是一個端到端的網絡路徑。
web中,路由的概念也是類似,根據URL來將請求分配到指定的一個'端'。(即根據網址找到能處理這個URL的程序或模塊)
使用vue.js構建項目,vue.js本身就可以通過組合組件來組成應用程序;當引入vue-router后,我們需要處理的是將組件(components)映射到路由(routes),然后在需要的地方進行使用渲染。
其所包含的功能有:
嵌套的路由/視圖表 模塊化的、基于組件的路由配置 路由參數、查詢、通配符 基于 Vue.js 過渡系統的視圖過渡效果 細粒度的導航控制 帶有自動激活的 CSS class 的鏈接 HTML5 歷史模式或 hash 模式,在 IE9 中自動降級 自定義的滾動條行為1、基礎路由
當我們通過 vue create 創建項目的的時候,會選擇是否安裝vue-router,項目創建后,在主組件App.vue中的HTML部分:
<script src="https://unpkg.com/vue/dist/vue.js"></script><script src="https://unpkg.com/vue-router/dist/vue-router.js"></script><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></router-view></div>
上述代碼中,<router-view/>是路由出口,路由匹配到的組件將渲染在這里。
2、在router/index.js文件中
// 0. 如果使用模塊化機制編程,導入Vue和VueRouter,要調用 Vue.use(VueRouter)// 1. 定義 (路由) 組件。 可以從其他文件 import 進來const Foo = { template: '<div>foo</div>' }// 2. 定義路由每個路由應該映射一個組件。 其中"component" 可以是通過 Vue.extend() 創建的組件構造器,或者,只是一個組件配置對象。const routes = [ { path: '/foo', component: Foo }, ]// 3. 創建 router 實例,然后傳 `routes` 配置const router = new VueRouter({ routes })// 4. 創建和掛載根實例。通過 router 配置參數注入路由,從而讓整個應用都有路由功能const app = new Vue({ router}).$mount('#app')3、動態路由
什么是動態路由?動態路由是指路由器能夠自動的建立自己的路由表,并且能夠根據實際情況的變化實時地進行調整。
1、在vue項目中,使用vue-router如果進行不傳遞參數的路由模式,則稱為靜態路由;如果能夠傳遞參數,對應的路由數量是不確定的,此時的路由稱為動態路由。動態路由,是以冒號為開頭的(:),例子如下:
新聞熱點
疑難解答
圖片精選