近日學習vue,在做一個demo,期間遇到一個問題,如圖-1所示,最終通過動態路由解決;
圖-1
接下來說一下解決思路,由于剛接觸不久,最開始想通過給tab項綁定點擊事件,然后傳入參數改變data里面的msg,雖然可以達到效果,但明顯過于繁瑣,后來打印了一下$route,發現路由是個對象,汗 - -!,問題得到解決,方法如下:
1.搭建vue-cli項目 (此處略過),搭建完后結構如圖-2所示
圖-2
2.創建3個組件,在components文件夾下分別創建index.vue ?news.vue ? profile.vue三個組件
3.在route文件夾下打開index.js對路由進行配置,配置如圖-3所示(此步驟之前先在上面引入各組件)
圖-3
4.打開App.vue組件,修改頁面結構,如圖-4所示,我們可以通過console.log打印一下$route對象,通過觀察可以發現每一個路由對象都有一個name屬性(也就是上一步配置路由時所設置的),由于我們要改變的是頂部h1標簽里面的文字,因此我們通過差值表達式{{$route.name}}來顯示不同路由所對應的文字。
圖-4
結語:由于剛接觸不久,表達不夠清晰的地方還望各路大神指點。
demo 地址:?https://github.com/jasonyu2016/vue-route-demo/tree/master