第五章:vue專案結構及vue-router的基本使用
幾個比較常用的檔案,如下圖
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就是給當前路由命名,可以在其他頁面通過$route.name訪問到當前頁面路由的name,component相當於你要引用的路由頁面,這裡引用的是HelloWorld.vue這個頁面,使用import將HelloWorld.vue引入
現在教大家建立一個檔案,並配置路由
先建立一個字尾為vue檔案,並把最基本的html結構寫上
然後配置它的路由,先引入這個檔案,用import,然後填寫要訪問這個檔案的路由路徑,這邊寫為/test,所有訪問這個路由的url為:localhost:8080/#/test
輸入url,一個APP.vue中巢狀test.vue(test被APP包裹)的頁面就呈現了
vue腳手架預設的路由巢狀就是所有頁面都巢狀在App.vue頁面下,被App.vue包裹,現在教大家自由巢狀自己的頁面,現在把test頁面巢狀到HelloWorld.vue頁面下
首先在HelloWorld.vue介面下加一個router-view標籤(router-view放置子路由,就是被包裹的頁面)
然後配置HelloWorld.vue的子路由(test.vue)
這樣localhost:8080/#/test就是一個APP.vue包裹HelloWorld.vue,HelloWorld.vue包裹test.vue的頁面瞭如下圖
這樣簡單路由巢狀就完成,在說說路由跳轉,比如你給一個按鈕繫結一個函式,實現點選按鈕跳轉到test頁面那在函式中可以用
this.$router.push({path:'/test'})
如果要回到上一個頁面用
this.$router.go(-1)
也可以通過router-link標籤跳轉,to中寫要跳轉的路由,router-link還有很多有用的屬性可以去vue官網檢視
<router-link to='/to' >點選跳轉</router-link>