vue中的vue-router query方式和params方式实例分析


今天小编给大家分享一下vue中的vue-routerquery方式和params方式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一种是使用组件 router-link另一种就是编程式路由导航我们可以把vue 的组件分为两种, 一种是一般组件, 一种就是路由组件使用的时候, 我们都是手写 它的标签来使用的 比如我们会引入component 使用时会写明我们一般会在 router.js中定义路由组件, 为它配置path name component children 等属性, 而且跳由组件, 我们一般不会在代码中写 这样的当我们的组件一旦被定义成一个路由组件的时候, 那么该组件实例上, 就免费云主机域名会被自动加入两个属性$route 每个组件中自身独有的, 里面是路由的配置信息等$router 所有的路由组件都共有的一个对象, 路由的跳转,都是由它来负责的参数的传递方式也有两种 一种是 query 方式, 一种是params 方式先说 query方式的,也就是使用 ?号 传参看一下 query 方式对应的 router.js 中的路由定义(其实, query 方式的传参, 对路由组件的定义来说基本没有什么影响, 个人比较偏好)router.js 中的定义如下上面的路由定义, 和平常的不传参数时定义的是一样的当跳转到home组件的时候, 我们就可以在 home 组件的 $route.query.id 和 $route.query.title 接收到传过来的参数了首先 params方式传递参数的话, 那么 路由的定义组件写法是有些变化的上面的 name 项是必须配置的, path项中要预先定义好 参数的占位符上面要注意的就是 params 方式的路由跳转对象式写法, 只能使用 name , 也就是说只能使用命名路由在使用 params 传参之后, 在对应的路由组件中 就可以使用 $route.param.id 和 $route.param.title 接收到参数了上面是使用了 router-link 来指定跳转的, 它有个不好的方面, 就是会破坏我们的 页面结构, 当结构被更改时, 页面上的css 很有可能被破坏了, 所有, 我们有的时候使用的是编程式路由导航, 它不会破坏结构, 还比较灵活我们在跳转后的页面接收参数, 可以使用 $route.query.XXX 或者 $route.params.XXX 接收参数, 这个写没有问题, 但有点麻烦, vue-router 在 路由的定义组件中添加了一个 props 的配置项, 可以帮助我们简化写法我们给组件中的路由定义位置加一个 props 配置项上面的代码中, 添加的 props 的配置, 返回了一个对象 , 这种做法基本不用, 因为, 返回的数据是个死的第一种:就是上面的 返回一个 对象 (基本不用)第二种:props 的值可以配置成一个 true 布尔值, (这种方式的使用前提是, 路由定义的时候也是 params 方式的) 也就是说 上面的 path:‘/home/:id/:title’第三种:就是 props可以是一个函数, 程序员自已来处理函数的返回值路由定义是这样的在home组件中使用 props 来接收参数上面的写法基本是用不着, 我们只是为了展示它的用法, 因为它的数据是个死的, 我们基本不会这么用props 配置为 true , 这种方式的 路由 应该是 path:‘/home/:id/:title’ 这样子的才可以使用这种方式 要注意的就是 路由中定义的 path:“/home/:id/:title”第三种 props 是一个函数,props 是一个函数, 这种方法就比较灵活了, 并且, 你不用考虑路由 是 params方式, 还是 query方式的, 因为, 函数中的返回值是程序员自已掌握的就是在路由定义中处理了传值的参数, 在组件接收到之后就可以直接使用,而以前$route.query.id 的方式是, 是在 路由组件中 处理的参数, 也就是说 同一件事件, 在不同的地方处理了, 导至使用的形式不一样以上就是“vue中的vue-routerquery方式和params方式实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: class类是不是es6语法

本文小编为大家详细介绍“class类是不是es6语法”,内容详细,步骤清晰,细节处理妥当,希望这篇“class类是不是es6语法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 class类是es6语法,是es6新增的一种特性。ES6…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/28 20:54
下一篇 03/28 20:55

相关推荐