Vue JS Router To Navigating Through Your Single Page App
Vue Router is a routing library for Vue.js applications that enables navigation between different views or components in a single-page application (SPA). It helps you manage the application’s state and handle navigation without triggering a full page reload. Here’s a basic guide on navigating through your single-page app using Vue Router:
Installation
Before you start using Vue Router, make sure to install it in your Vue.js project. You can do this using npm or yarn:
# Using npm npm install vue-router # Using yarn yarn add vue-router
Import Vue Router and Vue:
In your main file (often ‘main.js’), import Vue and Vue Router, and use Vue Router as a plugin.
import Vue from 'vue'; import VueRouter from 'vue-router'; Vue.use(VueRouter);
Define Routes:
Create a file to define your routes. Each route is an object that maps a path to a component.
// routes.js import Home from './components/Home.vue'; import About from './components/About.vue'; const routes = [ { path: '/', component: Home }, { path: '/about', component: About } ]; export default routes;
Create Router Instance:
In the same file where you imported Vue and VueRouter, create a new VueRouter instance and pass the routes array.
// main.js import Vue from 'vue'; import VueRouter from 'vue-router'; import routes from './routes'; Vue.use(VueRouter); const router = new VueRouter({ routes });
Integrate Router with Vue Instance:
Finally, integrate the router instance with your Vue instance.
// main.js import Vue from 'vue'; import App from './App.vue'; import VueRouter from 'vue-router'; import routes from './routes'; Vue.use(VueRouter); const router = new VueRouter({ routes }); new Vue({ render: h => h(App), router }).$mount('#app');
Router View and Links
Now, in your main component (e.g., App.vue), use the ‘
Home About
Navigation in Components
You can navigate programmatically in your components using the ‘$router’ object.
// Inside a component methods: { goToAboutPage() { this.$router.push('/about'); } }
This basic setup provides a foundation for navigation in a Vue.js SPA using Vue Router. Explore the Vue Router documentation for more advanced features, such as nested routes, route parameters, and navigation guards.