路由传参
A 第一种方式
首先上一个例子:
<body>
<div id="app">
<router-link to="/login?id=5">登录</router-link>
<router-link to="/regist">注册</router-link>
<router-view></router-view>
</div>
<script>
var login = {
template: "<h3>登录组件---{{$route.query.id}}</h3>"
}
var register = {
template: "<h3>注册组件</h3>"
}
const router = new VueRouter({
routes: [
{ path: "/", redirect: "/login" },
{ path: "/login", component: login },
{ path: "/regist", component: register }
]
})
var vm = new Vue({
el: "#app",
data: {
},
router: router
})
</script>
</body>
我们可以通过$route.query.id
获得url
中传递的参数,而不需要改变path
中的值。
B 第二种方式
例子二:
<body>
<div id="app">
<router-link to="/login/5">登录</router-link>
<router-link to="/regist">注册</router-link>
<router-view></router-view>
</div>
<script>
var login = {
template: "<h3>登录组件---{{$route.params.id}}</h3>"
}
var register = {
template: "<h3>注册组件</h3>"
}
const router = new VueRouter({
routes: [
{ path: "/login/:id", component: login },
{ path: "/regist", component: register }
]
})
var vm = new Vue({
el: "#app",
data: {
},
router: router
})
</script>
</body>
使用$route.params.id
获取url
种传递的参数值,这种url
传参的方式是一种明显的restful
风格。