index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<div>
<router-link to="/">首頁</router-link>
<router-link to="/about">關於我們</router-link>
<router-link to="/user/黃華華">黃華華</router-link>
<router-link to="/user/李雙蛋">李雙蛋</router-link>
<button @click="surf()">漫遊</button>
</div>
<div>
<router-view></router-view>
</div>
</div>
<script src="../lib/vue.js"></script>
<script src="../lib/router.js"></script>
<script src="./js/app.js"></script>
</body>
</html>
app.js:
var routes = [
{
path: '/',
component: {
template: `
<h2>首頁</h2>
`
}
},{
path: '/about',
component: {
template: `
<h2>關於我們</h2>
`
}
},{
path: '/user/:name',
name: 'user',
component: {
template: `
<div>
<h2>我叫:{{$route.params.name}}</h2>
<router-link to="more" append>更多</router-link>
<router-view></router-view>
</div>
`
},
children: [
{
path: 'more',
component: {
template: `
<div>我叫{{$route.params.name}},耶魯留學生的2000張自拍照</div>
`
}
}
]
}
];
var router = new VueRouter({
routes: routes
});
var app = new Vue({
el: '#app',
router: router,
methods: {
surf: function(){
setTimeout(function(){
this.router.push('/about');
setTimeout(function(){
this.router.push({name: 'user', params: {name: '王花'}});
}, 2000)
}, 2000)
}
}
});