vue-router 2 template

Template for vue-router 2

HTML

<script src="https://npmcdn.com/vue/dist/vue.js"></script>
<script src="https://npmcdn.com/vue-router/dist/vue-router.js"></script>

<div id="app">
  <div :class="$route.meta.headerClass">    
      <router-link to="/">/home</router-link>
      <router-link to="/foo">/foo</router-link>
  </div>
  <router-view></router-view>
</div>

CSS

.light {
  background-color: yellow;
}

.dark {
  background-color: blue;
}

Babel + JSX

const Home = { template: '<div>Home</div>' }
const Foo = { template: '<div>Foo</div>' }

const router = new VueRouter({
  mode: 'history',
  routes: [
    { 
    	path: '/', 
      component: Home, 
      meta: {
      	headerClass: 'light'
    	}
    },
    { 
    	path: '/foo', 
      component: Foo,
      meta: {
      	headerClass: 'dark'
    	}
    }
  ]
})

new Vue({
	router,
  el: '#app',
  data: {
    msg: 'Hello World'
  }
})