iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 22
1

https://ithelp.ithome.com.tw/upload/images/20190912/20110850dsypfXRkNe.jpg

超緊繃!30天Vue.js學習日記 擁抱全家桶系列-Vue-Router(1)

大家好!今天我要介紹的是Vue官方所推出的路由工具:Vue-Router
官網介紹在這: https://router.vuejs.org/zh/

在我的學習過程中,最常使用到套嵌路由這項功能,不過在這之前還是介紹一下該插件的運行模式,運行模式有兩種,分別是:

  1. hash

Hash為預設模式,這裡的hash代表#,假設網址為Hash.com/#/hello
當我們通過導航列引導至其他組件的內容(Hash.com/#/hello
2),它並不會對後端做請求。

  1. history

利用HTML5的新特性,詳細說明可以上網查XDD,如果不希望成品的網址有醜醜的#,我們就可以透過history mode實現!

總結來說,基本上我們在使用Vue-router實作,這兩項模式都是可以使用的。

接著,我們介紹今天的主角-套嵌路由
從一開始傻傻地看官方文件,後來看到這邊才知道要怎麼實現SPA的功能。

下圖引用自官方:

https://ithelp.ithome.com.tw/upload/images/20191002/20110850JYwrHbF54u.png

當然,在使用前除了引入Vue.js文件外,也不要忘記引入Vue-router唷!

<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>

若我們今天希望能在user頁面中自由切換Profile/Posts兩個組件,我們就會使用到套嵌路由,我們需要在最外層寫下:

<div id="app">
  <router-view to="/Profile">Profile</router-view>
	 <router-view to="/Posts">Posts</router-view>
</div>

再來,我們需要定義Profile和Posts的樣板內容:

const Profile = { template: '<div><h2>This is the Profile page</h2></div>' }
const Posts = { template: '<div><h2>Posts</h2></div>' }

最後,對路由做設定:

const routes = [
  { path: '/Profile ', component: Profile },
  { path: '/Posts ', component: Posts }
]

很簡單對吧!今天的教學在這邊結束,如果看不太懂也沒關係,我在這邊提供了範例:

https://drive.google.com/open?id=17Ki18Iln0nf_ppWnlGA0RbDNX-Rj3Tp

補充:眼尖的讀者一定會發現(在範例中),我在home組件內又註冊了一個子組件:other,因為在真實的網站上,常常會有某個page內有更多的內頁,所以一併寫在這邊方便大家了解~


上一篇
[特別篇][日記]學會它,開發更簡單!(2)
下一篇
[Vue.js][日記]擁抱全家桶系列-Vue-Router(2)
系列文
超緊繃!30天Vue.js學習日記33

尚未有邦友留言

立即登入留言