vue router code example

Example 1: install vue router

npm install vue-router

Example 2: react router

import React from "react";
import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link,
  useRouteMatch,
  useParams
} from "react-router-dom";

export default function App() {
  return (
    <Router>
      <div>
        <ul>
          <li>
            <Link to="/">Home</Link>
          </li>
          <li>
            <Link to="/about">About</Link>
          </li>
          <li>
            <Link to="/topics">Topics</Link>
          </li>
        </ul>

        <Switch>
          <Route path="/about">
            <About />
          </Route>
          <Route path="/topics">
            <Topics />
          </Route>
          <Route path="/">
            <Home />
          </Route>
        </Switch>
      </div>
    </Router>
  );
}

function Home() {
  return <h2>Home</h2>;
}

function About() {
  return <h2>About</h2>;
}

function Topics() {
  let match = useRouteMatch();

  return (
    <div>
      <h2>Topics</h2>

      <ul>
        <li>
          <Link to={`${match.url}/components`}>Components</Link>
        </li>
        <li>
          <Link to={`${match.url}/props-v-state`}>
            Props v. State
          </Link>
        </li>
      </ul>

      {/* The Topics page has its own <Switch> with more routes
          that build on the /topics URL path. You can think of the
          2nd <Route> here as an "index" page for all topics, or
          the page that is shown when no topic is selected */}
      <Switch>
        <Route path={`${match.path}/:topicId`}>
          <Topic />
        </Route>
        <Route path={match.path}>
          <h3>Please select a topic.</h3>
        </Route>
      </Switch>
    </div>
  );
}

function Topic() {
  let { topicId } = useParams();
  return <h3>Requested topic ID: {topicId}</h3>;
}

Example 3: install vue router

cd [project]
npm install --save vue-router // install only on the project that we are in

Example 4: react router

npm install react-router-dom

Example 5: vue router implementation

//Implementation
//main.js - Add below lines
import VueRouter from 'vue-router';

Vue.use(VueRouter);

const router = new VueRouter({
  routes,
  mode: 'history'
});

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

//App.vue - Add below line in v-content
/*
<template>
  <v-app>
    <v-content>
      <router-view></router-view>
    </v-content>
  </v-app>
</template>
*/

//route.js - We need to craate file under src
import linkName from './components/fileName.vue';
export const routes = [
  {
    path: '/',
    component: linkName
  }
]

Example 6: router configuration vue

npm install --save vue-router

//after installing vue-router in the project
//go inside main.js in your project and add
//(just after Vue.config.productionTip=false):

Vue.use(VueRouter):

const routes=[
{path: '/home', component: [componentName]},
{path: '/features', component: [componentName2]},
.
.
.
];
//you can add  as many routes as you need

//also add:

const router=new VueRouter({
routes,
mode: 'history'
});


//to make the router accesible for all the project you need to add it inside the new Vue:

new Vue({
router,     <----
.
.
}).$mount('#app')

//to make different pages acoording to the route selected, add (inside app.vue):
<template>
   <div id="app">
     <Navbar></Navbar>

     <router-view> </router-view>  <----------
     <Footer></Footer>
   </div>
</template>