一.发送效果HTML<div id="send-btn">
<button>
// 这里是一个svg的占位
Send
</button>
</div>
CSS#send-btn{
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
button {
background: #5f55af;
border: 0;
border-radius: 5px;
padding: 10px 30px 10px 20px;
color: white;
text-transform: uppercase;
font-weight: bold;
}
button svg {
display: inline-block;
vertical-align: middle;
padding-right: 5p ...
在日常开发中,我们难免要和字符串打交道,各种各样的功能都可能用到上面的字符串函数,本文参考网上文章,W3C资料,以及自己平常开发中的高频需求整理形成,希望能够帮到有需要的人。
本文首发于公众号:执行上下文,同步更新个人博客:执行上下文,转载请署名。前端微信群等你来哦!!
1、通过字符串函数获取字符串指定位置字符1.1 charAt()
从某个字符串取得具体的字符,如果index的位置不在字符串中则返回空字符串
let str = 'JsCoding';
// 语法
demo.charAt(index)
// demo
str.charAt(3) => 'o'
1.2 charCodeAt()
和chartAt()用法类似,只不过返回的是字符串的Unicode。同理,如果index下标不在字符串中,则返回空。
let str = 'JsCoding';
// 语法
demo.charCodeAt(index)
// demo
str.charCodeAt(3) => '111'
2、通过 ...
1、如何不刷新页面改版URL参数
window.history.pushState(state,title,url)
pushState() 带有三个参数:
一个状态对象,
一个标题,
以及一个可选的URL地址。
state: 一个与添加的记录相关联的状态对象,主要用于popstate事件。该事件触发时,该对象会传入回调函数。也就是说,浏览器会将这个对象序列化以后保留在本地,重新载入这个页面的时候,可以拿到这个对象。如果不需要这个对象,此处可以不填
url:新的网址,必须与当前页面处在同一个域。浏览器的地址栏将显示这个网址。
title:新页面的标题。但是,现在所有浏览器都忽视这个参数,所以这里可以填空字符串。
2、根据数量计算换行显示展开收起1、需求如图
在一行超过指定数量后,可能数量超过,也可能单个文字长度达到,出现展开按钮。
2、解决办法1、计算一行大概能够显示几个标签,大概多少字,根据返回数量来进行切割计算是否换行了。
2、计算每一个标签的宽度,超过指定宽度显示展开按钮。
3、vue实现跳转浏览器新的标签页let newpage = this.$router.re ...
function a(a,b)和function b({a,b})的区别// 前者在传参的时候可以是单独的传参方式,也可以是键值对的方式
如:
a(1,2)
Or
a({a:1,b:2})
// 后者传参的时候必须以键值对的方式出现
如:
b({a:1,b:2})
vue如何动态加载组件1、使用import导入组件,可以获取到组件
let name = 'component';
let myComponent =() => import('../components/' + name + '.vue');
let route={
name:name,
component:myComponent
}
2、使用import导入组件,直接将组件赋值给componet
let name = 'component';
let route={
name:name,
component :() => import( ...
1、图片之间有空隙
问题: 使用富文本编辑上传图片后,小程序渲染后图片之间有空隙
// 解决办法:
vertical-align: top;
outline-width: 0px;
2、阿里云部署个人静态页面无法访问
问题:ngnix部署成功,ping成功页面外网还是无法访问?
1、静态资源不能放到root // 根目录下的文件夹中没有权限访问,2、记得开启服务器防火墙和阿里云控制台防火墙
### 3、如何去除数组中重复的值
Array.prototype.dupRemove = function(){var arr=[];for(var i=0;i<this.length;i++){if(arr.indexOf(this[i]) == -1){arr.push(this[i]);}}return arr;}let arr = [1,2,3,4,5,6,1,3,12,1]arr.dupRemove() // [1, 2, 3, 4, 5, 6, 12]
### 4、vue ...
调控降房价是刚需的一厢情愿2010年的房地产调控,让很多人看到了希望:让房价降得再猛烈些吧。还有人更是幸灾乐祸似的呼喊:让房地产赶紧崩盘吧。让没房子的好好看看有房子的笑话,是人生的一大快事。
但是我们是不是要仔细想想,为什么调控?调控期望得到什么样的效果?
是如千千万万想买房子的人期望的那样,让人人买的起房吗?
是如千千万万的流氓无产者期望的那样,让房地产崩盘,开发商上吊,dfzf不再靠卖地实现gdp吗?
2010年房价下跌已经变成了人民最急切的期望,已经高过了解决超贫困家庭的温饱问题,已经超过了子女教育,医疗和养老。并且为房地产必须下降提出了若干义正言辞理由,总结下来无外乎三条:
人人都有居住权。房子是用来住的,不是用来炒的。
房子太贵了,租售比严重不合理,空置率太高,人均收入太低,早晚要崩盘。
房价上涨造成物价上涨,人民生活变得困难。
的确,当经济过热,房价过高,会对经济运行和社会安定带来较高的风险。这也是国家所担忧的。防范金融风险,一切维稳才是zy考虑的重中之中。
而民间所总结的三条,应该和调控的原因和目的基本不沾边。让我们一条一条的分析一下:
1、人人都有居住权。房子是 ...
1、下载安装先打开mac终端,cd 到user/local下
cd /usr/local
下载 mongodb的包
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz
解压刚刚下载的包
sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz
将文件名 mongodb-osx-x86_64-3.4.2 重命名 mongodb
sudo mv mongodb-osx-x86_64-3.4.2 mongodb
2、配置环境变量打开本地的 .bash_profile
open -e .bash_profile
在文件的最后添加下面一行代码:
export PATH=${PATH}:/usr/local/MongoDB/bin
设置配置文件生效:
source .bash_profile
3、验证是否安装成功// 终端输入
mongod -version
// 出现下方信息表示安装成功
db version v3.4.2
git ve ...
利用正则快速转换指定时间格式// 20200303 => 2020-03-03
date = date.replace(/(.{4})/, "$1-");
date = date.replace(/(.{7})/, "$1-");
正则表达式校验输入百分比值let reg = /^-?(100'(([1-9]\d'\d)(.\d{1,2})?))%$/
console.log(!reg.test(99.3))
iview tree 为指定节点设置展开不生效// 问题
在变量 treeData的时候设置 extend = true
并没有生效,在打印treeData后发现并没有与extend相关的get set 方法。
所以导致无法展开。
// 结论
直接在数据中添加属性是无法生成get和set方法
// 解决
vue.$set(item, 'extend', true)
获取map数组的key值getObjectKeys (object)& ...