<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./bower_components/vue/dist/vue.js"></script>
<script src="./bower_components/vue-router/dist/vue-router.js"></script>
</head>
<body>
<div id="app">
<router-link to="/user/1">Boolean传参</router-link>
<router-link to="/user1">对象传参</router-link>
<router-link to="/user2/1">函数传参</router-link>
<router-view></router-view>
</div>
<script>
let routes = [
{//Boolean传参
path: '/user/:id',
component: {
props: ['id'],
template: '<h1>id:{{id}}</h1>'
},
props: true //true把$route.params.id放到了组件的props里,false则相反。
},
{//对象传参
path: '/user1',
component: {
props: ['name'],
template: '<h1>{{name}}</h1>',
},
props: { name: 'Tom' }
},
{//函数传参
path: '/user2/:id',
component: {
props: ['id'],
template: '<h1>id:{{id}}</h1>'
},
props: router => {
return {
id: router.params.id
}
}
}
];
let router = new VueRouter({
routes
})
new Vue({
router,
el: '#app'
})
</script>
</body>
</html>