vue升級之路之vue-router的使用教程
使用 Vue 構建的項目,一個頁面是由多個組件構成的,而且經常是做成單頁面應用,所以在跳轉頁面的時候,傳統(tǒng)的 href 已經跟不上時代的步伐了,于是 vue-router 應運而生
在使用 vue-router 的時候,需要看看自己是否裝了這個依賴,沒有的話可以使用 npm install vue-router -S ,不過現(xiàn)在構建vue項目時有可以選擇是否安裝 vue-router,大家注意一下就行了
一、路由的配置
自動安裝的vue-router,會在src 文件夾下有個一個 router -> index.js 文件 在 index.js 中創(chuàng)建 routers 對象,引入所需的組件并配置路徑
在創(chuàng)建的 routers 對象中, path 配置了路由的路徑,component 配置了映射的組件
然后在main.js里面引入router文件
在創(chuàng)建的 router 對象中,如果不配置 mode,就會使用默認的 hash 模式,該模式下會將路徑格式化為 #! 開頭。
添加 mode: 'history' 之后將使用 HTML5 history 模式,該模式下沒有 # 前綴,而且可以使用 pushState 和 replaceState 來管理記錄。
關于 HTML5 history 模式的更多內容,可以自行度娘
二、嵌套路由
在構建的vue實例中,為了加深項目層級,App.vue 只是作為一個存放組件的容器
其中 是用來渲染通過路由映射過來的組件,當路徑更改時, 中的內容也會發(fā)生更改
上面已經配置了兩個路由,當打開 http://localhost:8080 或者 http://localhost:8080/index的時候,就會在 中渲染 index.vue 組件 index.vue 是真正的父組件,其它的子組件都會渲染到 index.vue 中的
想要在一級路由中實現(xiàn)嵌套二級路由,就要修改 router -> index.js
在配置的路由后面,添加 children,并在 children 中添加二級路由,就能實現(xiàn)路由嵌套。 配置 path 的時候,以 " / " 開頭的嵌套路徑會被當作根路徑,所以子路由的 path 需不需要添加 " / " 就要看個人需求了
三、使用 映射路由
如果只需要跳轉頁面,不需要添加驗證方法的情況,可以使用 來實現(xiàn)導航的功能:
<router-link class="item" to="/index/login" >{{ text }}</router-link>
<router-link class="item" :to="{path:url, query:data}" >{{ text }}</router-link>
在編譯之后, 會被渲染為 標簽, to 會被渲染為 href,當 被點擊的時候,url 會發(fā)生相應的改變
如果使用 v-bind 指令,還可以在 to 后面接變量,配合 v-for 指令可以渲染路由菜單
如果需要傳入不同參數 ,可以在路由中添加動態(tài)參數,給 to 傳入一個對象
{
path: item.url,
query: { id: '007' }
}
然后還可以使用 $ route.query.id 來獲取到對應的參數
四、編程式導航
然而在實際項目下,有很多鏈接在執(zhí)行跳轉之前,還會執(zhí)行方法對數據進行處理,這時可以使用 this.$router.push(location) 來修改 url 完成跳轉
// 綁定goLogin
<button class="login" @click="goLogin"></button>
// 定義goLogin
methods: {
goLogin() {
this.routes.push('/login')
}
},
push 后面可以是對象,也可以是字符串:
// 字符串
this.$router.push('/index')
// 對象
this.$router.push({ path: '/index' })
// 命名的路由
this.$router.push({ name: 'login', params: { userId: '123' }})
相關文章
vue2.0實現(xiàn)的tab標簽切換效果(內容可自定義)示例
這篇文章主要介紹了vue2.0實現(xiàn)的tab標簽切換效果,結合實例形式分析了vue.js實現(xiàn)內容可自定義的tab點擊切換功能相關操作技巧,需要的朋友可以參考下2019-02-02
vue中阻止click事件冒泡,防止觸發(fā)另一個事件的方法
下面小編就為大家分享一篇vue中阻止click事件冒泡,防止觸發(fā)另一個事件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
elementUI Tree 樹形控件單選實現(xiàn)示例
在ElementUI中樹形控件本身不支持單選功能,本文就來介紹一下如何實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-06-06

