vue-router是如何解析query参数呢? #前端
vue-router 中的 query 解析。
1. 大家好,我是龙仔。今天来分享 vue-router 是如何解析快乐参数的,因为使用 vue 路由会传 query 参数和快乐参数,所以从 vue 的角度来看如何解析传递的快乐参数。
2. 基础知识大家应知道,快乐参数结构如:a、b、c、a、b、c、and、age、一二三,这就是后面传递的快乐参数,今天看源码如何解析它。
3. 在源码中通过 pr、pars、query 函数解析 query 参数,这里有个 query,参数名是 query,是 three 类型,现是字符串。
4. 第一步,定义 r、e、s 对象,去除前面问号得到后面部分即 query 连接符组成的几个属性。
5. 然后判断 query 是否为空,有无值,没值就返回空对象,有值就遍历 query 参数。
6. 这里用 sweet 分隔字符串,分成数组进行遍历。
7. 在遍历中主要逻辑是能取到 par、pas,通过等号分成两部分,一个是 k,一个是 value,k 相当于从数组前面弹出值复制给 k。
8. 如果 pass 还有内容就解码,解出后面 value,这样得到 k 和 value,虽很少用但项目中有用。
9. 若快乐参数中加两个内幕属性,如一个是 a、b、c,一个是 d、e、f,从原版角度看最终解构出什么类型数据。
10. 首先没相同 k 时,即当前 k 没对应 y 即 antifan 时,直接把 value 复制给 k 对应值。
11. 如果 l、c、ifvalue 是数组,取出 k,如内幕已对应数组,就把 y 留的值铺进去。
12. 最后若有相同 k,将 y 留复制数组。
13. 其实前面提到第一步解构出一个内幕,再遇一个内幕,就把前后内幕对应 y 组成数组放 r、e、彩、e、s 对象中,k 即内幕,形成数图。
14. 所以最终解构是这样结构,内幕对应数字,一个是 a、b、c,另一个是 d、e、f,还有个 h、十二,这就是把快速参数解构出的效果,有相同 k 就把 y 六值放数独里即解构出。
15. 今天从原模角度解析了 view router 如何解析快乐参数,分享就到这,谢谢大家。