在基于Vue.js構(gòu)建單頁應(yīng)用時,路由(Router)功能是不可或缺的。$router函數(shù)是Vue.js的路由操作函數(shù),在單頁應(yīng)用中負責處理路由與頁面間的跳轉(zhuǎn)及控制。
在Vue.js中使用$router函數(shù)需要先將路由對象傳入Vue實例中。在main.js文件中,一般會這樣寫:
import Vue from 'vue' import App from './App.vue' import router from './router' Vue.config.productionTip = false new Vue({ router, render: h =>h(App), }).$mount('#app')
從上述代碼中,可以看到在創(chuàng)建Vue實例時將router對象傳入,這樣在Vue組件中就可以使用$router函數(shù)。
以簡單的路由跳轉(zhuǎn)功能為例,假設(shè)我們有一個組件名為Home,在組件中可以使用$router函數(shù)實現(xiàn)路由跳轉(zhuǎn):
export default { name: 'Home', methods: { goPage () { this.$router.push('/user') } } }
在上述代碼中,我們定義了一個名為goPage的方法,該方法會調(diào)用$router函數(shù)中的push方法實現(xiàn)路由跳轉(zhuǎn)。
對于$router函數(shù)來說,除了push方法,還包括replace、go、back、forward等其他方法,并且可以在Vue組件中通過this.$router.方法名的方式來調(diào)用相應(yīng)的方法。