vue-router 2 template

Template for vue-router 2

by eyedean

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">
  <router-link to="/">/home</router-link>
  <router-link to="/foo">/foo</router-link>
  <router-link to="/pp">/pp</router-link>
  <router-link to="/bar">/bar</router-link>
  <router-view></router-view>
</div>

Babel + JSX

const Base = { template: '<div> base: {{ $router.options.base }}, currentRoute.path: {{ $router.currentRoute.path }} <router-view></router-view></div>'}
const Home = { template: '<div>Home</div>' }
const Foo = { template: '<div>Foo</div>' }
const Pp = { template: '<div>PP</div>' }
const NotFound = { template: '<div>404 Not Found:(</div>' }

//TODO: 
//	I COULDN'T GET THIS TO WORK ON JSFIDDLE PROPERLY.  BUT LET'S SAY WE LAND ON /app OF THE DOMAIN AND THE APP STARTS FROM THERE.
window.location.href="/app"

const router = new VueRouter({
  mode: 'history',
  base: '/a/',
  routes: [
    { path: '/', component: Base, children: [
      { path: '', component: Home },
      { path: '/foo', component: Foo },
      { path: '/pp', component: Pp },
      { path: '*', component: NotFound }
    ]},
  ]
})

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