非node环境 vue-rouder 学习笔录2 路由监听和动态路由匹配

本文介绍了Vue.js中使用vue-router进行路径参数配置的方法,包括基本的单参数设置、多个路径参数设置及通过正则表达式进行高级匹配的方式。此外,还探讨了如何利用$router对象获取路径参数及其他相关信息。

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>

实例一、在路由中设置一个参数

html部分
<div id="app">
<p>
<router-link to="/user/foo">/user/foo</router-link>
<router-link to="/user/bar">/user/bar</router-link>
</p>
<router-view></router-view>
</div>

js部分

<script>
const User = {
template: '<div>User {{ $route.params.id }}</div>',
watch: {'$route' (to, from) {
//监听路由
console.log(to);
console.log(from);
}
}
}

实例二 在路由中设置多个路径参数

const router= new VueRouter({
routes:[{path:'/user/:id',component:User}]
})
new Vue({
router
}).$mount("#app")
</script>

<div id="app">
<p>
<router-link to="/user/evan/post/123">/user/foo</router-link>
<router-link to="/user/evan/post/456">/user/bar</router-link>
</p>
<router-view></router-view>
</div>
<script>
const User = {
template: '<div>User {{ $route.params.post_id }} {{ $route.params.username }}</div>',
watch: {'$route' (to, from) {
console.log(to);
console.log(from);
}
}
}
const router= new VueRouter({
routes:[{path:'/user/:username/post/:post_id',component:User}]
})
new Vue({
router
}).$mount("#app")
</script>

高级匹配中可以进行正则的匹配

routes: [
{ path: '/' },
// params are denoted with a colon ":"
{ path: '/params/:foo/:bar' },
// a param can be made optional by adding "?"
{ path: '/optional-params/:foo?' },
// a param can be followed by a regex pattern in parens
// this route will only be matched if :id is all numbers
{ path: '/params-with-regex/:id(\\d+)' },
// asterisk can match anything
{ path: '/asterisk/*' },
// make part of th path optional by wrapping with parens and add "?"
{ path: '/optional-group/(foo/)?bar' }
]

除了 $route.params 外,$route 对象还提供了其它有用的信息,例如,$route.query(如果 URL 中有查询参数)、$route.hash 等等。你可以查看 API 文档 的详细说明。

 

转载于:https://www.cnblogs.com/itadong/p/7110887.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值