小编给大家分享一下vue如何实现路由参数解耦,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
路由参数解耦
一般在组件内使用路由参数,大多数人会这样做:
exportdefault{methods:{getParamsId(){returnthis.$route.params.id}}}
在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性。
正确的做法是通过 props 解耦
constrouter=newVueRouter({routes:[{path:'/user/:id',component:User,props:true}]})
将路由的 props 属性设置为 true 后,组件内可通过 props 接收到 params 参数
exportdefault{props:['id'],methods:{getParamsId(){returnthis.id}}}
另外你还可以通过函数模式来返回 props
constrouter=newVueRouter({routes:[{path:'/user/:id',component:User,props:(route)=>({id:route.query.id})}]})
以上是“vue如何实现路由参数解耦”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!
vue表格组件教程学习(vue proxytable只能在开发环境跨域吗)
vueproxytable只能在开发环境跨域吗?跨域问题来源于JavaScript的同源策略,即只有协议主机名端口号(如...
Vue组件的自定义事件和全局事件总线怎么使用
vue中消息订阅与发布如何使用
vue中消息订阅与发布如何使用这篇文章主要介绍“vue中消息订阅与...
Vue显示图片的方式有哪些
vue引入静态jquery报错如何解决
vue引入静态jquery报错如何解决这篇文章主要介绍“vue引入...
vue-cropper怎么实现裁剪图片
怎么用Vue+NodeJS实现大文件上传
Vue如何实现简易跑马灯效果
Vue怎么指定不编译的文件夹和favicon.ico
Vue怎么指定不编译的文件夹和favicon.ico这篇文章主要介...
Vue中的插槽怎么使用
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议