qs.js库 使用方法
1、qs.js库说明
qs是一个url参数转化(parse和stringify)的js库。
https://www.npmjs.com/package/qs
2、使用(以vue文件做示例)
(1)基本语法
<template>
<div>
qs.js
</div>
</template> <script>
import qs from 'qs'
import _ from 'lodash'
export default {
components: {},
methods: {
qs() {
var obj = qs.parse('a=b&c=d');
//输出true
console.log(_.isEqual(obj, {
a: 'b',
c: 'd'
})) var str = qs.stringify(obj);
//输出true
console.log(_.isEqual(str, 'a=b&c=d'));
}
},
mounted() {
this.qs();
}
};
</script> <style scoped> </style>
(2)忽略符号?
<template>
<div>
qs.js
</div>
</template> <script>
import qs from 'qs'
import _ from 'lodash'
export default {
components: {},
methods: {
qs() {
//忽略前面的?
var obj = qs.parse('?a=b&c=d', { ignoreQueryPrefix: true });
//输出true
console.log(_.isEqual(obj, {
a: 'b',
c: 'd'
})) var str = qs.stringify(obj);
//输出true
console.log(_.isEqual(str, 'a=b&c=d'));
}
},
mounted() {
this.qs();
}
};
</script> <style scoped> </style>
(3)stringify方法编码
<template> <div>
qs.js
</div>
</template> <script>
import qs from 'qs'
import _ from 'lodash'
export default {
components: {},
methods: {
qs() {
//输出a[b]=c
console.log(qs.stringify({
a: {
b: 'c'
}
}, {
encode: false
}))
}
},
mounted() {
this.qs();
}
};
</script> <style scoped> </style>
(4)qs 处理数组
<template>
<div>
qs.js
</div>
</template> <script>
import qs from 'qs'
import _ from 'lodash'
export default {
components: {},
methods: {
qs() {
//输出 'a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d'
console.log(qs.stringify({
a: ['b', 'c', 'd']
}))
//输出 a[0]=b&a[1]=c&a[2]=d
console.log(qs.stringify({
a: ['b', 'c', 'd']
}, {
encode: false
}))
//输出 'a=b&a=c&a=d'
console.log(qs.stringify({
a: ['b', 'c', 'd']
}, {
indices: false
}))
}
},
mounted() {
this.qs();
}
};
</script> <style scoped> </style>
qs.js库 使用方法的更多相关文章
- 解决jQuery多个版本,与其他js库冲突方法
jQuery多个版本或和其他js库冲突主要是常用的$符号的问题,这个问题 jquery早早就有给我们预留处理方法了,下面一起来看看解决办法. 1.同一页面jQuery多个版本或冲突解决方法. < ...
- 解决同一页面jQuery多个版本或和其他js库冲突方法
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- 在 Ionic2 TypeScript 项目中导入第三方 JS 库
原文发表于我的技术博客 本文分享了在Ionic2 TypeScript 项目中导入第三方 JS 库的方法,供参考. 原文发表于我的技术博客 1. Typings 的方式 因在 TypeScript 中 ...
- 在TypeScript中使用其他JS框架或库的方法
最近刚刚接触TypeScript,感觉非常强大,但是也有一些问题. 比如我们正常写js时,只要把其他js库引入页面,甚至于只要加入到项目中,ReSharper就会自动分析他,并提供语法只能感知,写代码 ...
- 如何写 JS 的链式调用 ---》JS 设计模式《----方法的链式调用
1.以$ 函数为例.通常返回一个HTML元素或一个元素集合. 代码如下: function $(){ var elements = []; ;i<arguments.length;i++){ v ...
- 【转载】写一个js库需要怎样的知识储备和技术程度?
作者:小爝链接:https://www.zhihu.com/question/30274750/answer/118846177来源:知乎著作权归作者所有,转载请联系作者获得授权. 1,如何编写健壮的 ...
- jQuery与其他JS库共存
* 事件 * jQuery与其他JS库共存 * 调用jQuery.noConflict()方法 * 表示jQuery将"$"符号的使用权交出 * 通过两种方式将"$&qu ...
- HTML(.js) – 最简单的方式操作 DOM 的 JS 库
HTML(.js) 是一个轻量的(压缩后~2kb) JavaScript 库,简化了与 DOM 交互的方法. 这个 JavaScript 库的方法可读性很好,并具有搜索和遍历 DOM 的方法.相比 j ...
- 仿照jquery封装一个自己的js库(二)
本篇为完结篇.主要讲述如何造出轮子的高级特性. 一. css方法的高级操作 先看本文第一部分所讲的dQuery css方法 //css方法 dQuery.prototype.css=function( ...
随机推荐
- 51nod1218 最长递增子序列 V2
看见标签推荐顺便就做了吧 记$f[i], g[i]$为$i$的含$i$的前缀最长递增子序列和后缀递增子序列 只要满足$f[i] + g[i] == LIS + 1$,那么$i$就是可能的 对于$i$而 ...
- [APIO2018]铁人两项 --- 圆方树
[APIO2018] 铁人两项 题目大意: 给定一张图,问有多少三元组(a,b,c)(a,b,c 互不相等)满足存在一条点不重复的以a为起点,经过b,终点为c的路径 如果你不会圆方树 ------- ...
- [NC13A]反蝴蝶效应/[SPOJ-NPC2014D]General Joke
[NC13A]反蝴蝶效应/[SPOJ-NPC2014D]General Joke 题目大意: 按顺序访问\(A_{1\sim n}(n\le10^5)\),经过\(A_i\)时身上必须有\(A_i\) ...
- Redis 锁的实现方案
开发中不可避免的是碰到并发请求,在数据严谨性的要求不高时,我们也不需要做什么处理,但如果碰到数据严谨性非常高的时候(例如:用户金额,秒杀产品的库存...),我们就需要慎重处理了. 解决方案多种多样,下 ...
- USACO 2017 FEB Platinum mincross 可持久化线段树
题意 上下有两个位置分别对应的序列A.B,长度为n,两序列为n的一个排列.当Ai == Bj时,上下会连一条边.你可以选择序列A或者序列B进行旋转任意K步,如 3 4 1 5 2 旋转两步为 5 2 ...
- Java高级架构师(一)第41节:Nginx的配置优化以及使用建议
- Educational Codeforces Round 11 B. Seating On Bus 水题
B. Seating On Bus 题目连接: http://www.codeforces.com/contest/660/problem/B Description Consider 2n rows ...
- Codeforces Round #194 (Div. 1) A. Secrets 数学
A. Secrets Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/333/problem/A ...
- GIT 提交步骤
1.提交 git add .
- JAVA容器-模拟LinkedList实现(双链表)
概述 LinkedList实质上就是双向链表的拓展的实现,我们将关注一下问题.LinkedList 1.双向链表怎么来实现插入.删除.查询? 2.利用二分法提高查询效率. 3.不同步,线程不安全,需要 ...