先給大家看個以前寫的很蠢的代碼。

首先,很麻煩的把所有的路由的path寫了一遍,然后還得對照路徑寫要顯示的文字,然后在循環出來根據是否和當前路由相等來展示。先不說每次添加新頁面都得來這個組件加一條對應的對象,而且瀏覽器里因為是v-show,并不是沒有加載而是display:none隱藏起來了。
所以打開toptext這個div的時候,他不是一個,而是很多很多個。當時忘了meta這個東西,看router的時候沒有很重視它,然后做新項目的時候想起來了meta這個東西,寫這篇文章來提醒下自己。
簡單來說,meta就是路由身上攜帶的信息,你可以通過this.$route.meta來調用他,一般來說作用有三個,1.就是攜帶頁面中用到的信息,信息與當前路由綁定。2.可以通過路由信息來控制不同路由展示不同頁面3.還可以做登錄校驗。我們該篇文章主要用來使用第一條。

他的使用也非常簡單,只需要和path和name平級就可以,meta是一個對象,當你需要調用text的時候使用this.$route.meta.text就能再頁面中得到數據。
所以對我們之前的代碼做一個優化。

直接取meta里的值,也不需要判斷,這樣瀏覽器只會出現一條數據,而且對于后續的維護更加的方便。
下一篇: 關于UI設計中開關的用處
)
)
)
