vue-router 2 template
Template for vue-router 2
by Dmitri Ganenco
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="/user/John">/User John</router-link>
<router-link to="/me">/me</router-link>
<router-view></router-view>
</div>
Babel + JSX
const Home = { template: '<div>Home</div>' }
const Foo = { template: '<div>Foo</div>' }
const User = { template: '<div>User {{ $route.params.username }}</div>' }
const Profile = { template: '<div>Profile</div>' }
const someWhereFromSessionUserName = 'ME';
const router = new VueRouter({
mode: 'history',
routes: [
{ path: '/', component: Home },
{ path: '/foo', component: Foo },
{ path: '/user/:username', component: User, children: [
{
name: 'user-profile',
path: 'profile',
component: Profile,
},
]}
]
});
router.beforeEach((to, from, next) => {
debugger;
if(to.path === '/me') {
next(`/user/${someWhereFromSessionUserName}`)
}else{
next();
}
})
new Vue({
router,
el: '#app',
data: {
msg: 'Hello World'
}
})