這篇文章將為大家詳細講解有關如何在vue中使用vue-router,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
首先在大前提vue-cli已經安裝好的情況下,并且cnpm install后(官網使用的是npm,但這里推薦用cnpm比npm快而且npm有時候會有出現卡住的現象),這里有個小提醒就是關于是否開啟eslint,這個是對你寫的代碼進行規范化的一個工具,對于剛接觸的新手們建議關閉,不然代碼寫的不符合它的規范你的編譯器會一直報錯,如下圖

安裝好腳手架之后就像這樣

終端輸入npm run dev,然后打開localhost:8080就可以看到項目運行啦

大致分析一下幾個比較常用的文件把,如下圖

1.build:主要用來配置構建項目以及webpack
2.config:項目開發配置
3.npm或者cnpm所下載的依賴包
4.你的源代碼
5.靜態文件夾,webpack打包時不會打包這里文件
6.最外層的頁面一般title等都設置在這里
7.存放你要npm依賴包的json數據
大致介紹完項目結構,我們一起看看它頁面的源碼吧!

先從這個App.vue開始,這個文件僅此于外部的index意思就是index包含所有頁面,而App.vue包含除了index的頁面,也就是路由嵌套,后面會說到,在這里所創建的文件都是文件名.vue,頁面的html格式就是一個template標簽中包含一個div,相當于組件化的形式,而組件的內容寫在這個div中(一個頁面必須只有一個template包一個div,內容寫在這個div中,不然會報錯),而這個router-view標簽就是當前頁面下的子頁面,可以理解成這個router-view是另一個頁面,被當前頁面所包含著,有點類似ifame標簽的功能。
css,js格式

現在我們來看看HelloWorld.vue這個頁面,這里js,css的代碼放置格式它已經幫你寫出來了,按照這種格式寫就行了,需要提醒的就是style標簽中的scoped屬性,如果沒寫這條那么這個style的樣式會影響到這個頁面所有的子路由,如果加了那么這個樣式只對當前頁面起作用
看完頁面我們看看路由的配置如下圖

路由的路徑在router下,剛開始打開會看到有報錯,其實不是語法錯誤,是因為編譯器默認編譯es5的語法,而vue腳手架用的是es6的語法,我用的編譯器是webStorm,只要設置一下就行了。


簡單介紹一下routers中的結構,這里主要用來配置路由的,上面說過所有子路由都在App.vue下,所有App.vue是最外層的父路由,這里的routes中存的就是路由的數組,path就是你要訪問你所創建的頁面的路徑,這里寫的是根路徑序所以你直接訪問localhost:8080就會出現一個App.vue中插入一個HelloWorld.vue的頁面(這個相當于路由嵌套),name想到與給它命名這個比較無關緊要,component相當于你要引用的頁面,這里引用的是HelloWorld.vue這個頁面,主要上面的import,這里的HelloWorld是一個變量,對應上面的路徑文件
現在教大家創建一個文件,并配置路由
先創建一個后綴為vue文件,并把最基本的html結構寫上

然后配置它的路由,先引入這個文件用import,然后填寫要訪問這個文件的路徑我用/test,所有要打開這個路由就輸入localhost:8080/#/test,在本引入的文件拿到component中

輸入url,一個APP.vue中嵌套test.vue的頁面就呈現了

vue腳手架默認的路由嵌套就是所有頁面都嵌套在App.vue頁面下,現在教大家自由嵌套自己的頁面現在我把test頁面嵌套到HelloWorld.vue頁面下
首先在HelloWorld.vue界面下加一個router-view標簽

然后配置HelloWorld.vue的子路由

這樣localhost:8080/#/test就是一個APP.vue嵌套HelloWorld.vue在嵌套test.vue的頁面了如下圖

這樣簡單路由嵌套就完成,在說說路由跳轉,比如你給一個按鈕綁定一個函數,實現點擊按鈕跳轉到test頁面那在函數中可以用
this.$router.push({path:'/test'})如果要回到上一個頁面用
this.$router.go(-1)
關于如何在vue中使用vue-router就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。