本例使用了:
上传照片
利用<input type="file">
的change
事件
html部分:
1 | <input type="file" @change="fileChange"> |
js部分:
1 | import QArt from 'qartjs'; |
本例使用了:
利用<input type="file">
的change
事件
html部分:
1 | <input type="file" @change="fileChange"> |
js部分:
1 | import QArt from 'qartjs'; |
最近学习Vue2.0,感觉很有意思,给大家分享一个在
vue
项目中写markdown
的方法。国际惯例,先附上一些链接。
1 | npm install -S marked |
main.js
:
1 | import Vue from 'vue' |
ps:Vue.use()
会自动调用参数文件里的install()
记录一些闪过的疑问,有解决方法更好喽
item
为直接值
,如:数组、字符串等。这种很好获取index
1 | myArr.indexOf(item); |
系列节点:获取ul
中某一li
的下标,这种多个变幻,不过还是很方便:
假如点击了当前li
:
1 | Array.indexOf().call(this.parentNode.childNodes,this); |
item
为对象时,如何获取?有没有很方便的方法?现在我用的常规方法:
1 | function getIndexOfArray(arr,item){ |
网上流传的$(elem).data("events")[type]
不起作用,谁有好办法吗?
next主题是一款黑白色的主题,简单大方,时间久了难免有点厌烦。于是自己遍想做点优化和美化,让它色彩缤纷些。下面的方法也适用于其他主题
next/source/css/_custom/custom.styl
:这里面写自定义样式,浏览器中f12
调试,看哪儿不好看,直接写在此文件中覆盖。我的自定义样式:1 | // Custom styles. |
为了重构项目的css代码,先体验了
less
,但发现less不能满足我的需求,没办法转为sass
,在此描述一下自我感受这两者的区别。我描述的只是我直观使用的部分,大部分的不同点百度一下,第一页的全一样。。。
less
写mixin
时判断的唯一关键字就是when
,而我需要生成复合样式中的一部分,像这样:1 | a{ |
要选择性的生成部分属性,less
很不方便,可以参考前面一篇文章less实战全解之复合样式mixin
sass
的判断关键字很符合我们的习惯@if
、@else
、@else if
,还有其他的@for
、@each
,非常强大。额…有点跑题,继续。那么用sass
处理符合属性可以写成这样,不会生成多余的属性:1 | @mixin position($position,$top:null,$right:null,$bottom:null,$left:null,$z-index:null){ |
假设要编译成这样的css:
1 | position: absolute; |
使用的方式有两种:
1 | //方法1,最后一个"有效参数"前面的参数设为null,后面的不用管,因为参数默认值就是null |
附上我的开发规范与公用mixin:
本文所有的实例都可以在less公用mixin 找到
假设有一蓝色主题,且起名为”Blue”。那么:
实例:
1 | @Blue-color-blue:#1D89E4;//用途较多,是此主题的主色 |
这样,就定义了一套主题的颜色。下面的语句决定我们使用的主题:
1 | @theme-color:@Blue-color-blue; |
这里定义的变量才是实际在项目中用的,这些名称只包含了主要作用,而不包含特征。要切换不同的主题,只需要该这些变量对应的值就可以了。
和跟主题相关的颜色名称定义类似,只不过开头不用加主题名,使用的时候可以明显区分主题相关的颜色和不相关的颜色。
这个比较灵活,具体视情况而定。
实例:
1 | @white:#fff; |
以.
开头,其名称与样式的名称一致:
实例1:
1 | .border-radius(...){ |
less是一种css的扩展,可以编译成css。将它定位为”工具”即可,最终 浏览器/app 识别的还是css
参考网站:
- less中文官网,是bootstrap帮忙翻译的,但容我吐槽一句:翻译翻一半,惆怅也疼蛋。
- css88的less中文文档,这个翻译完了,不喜欢英文的可以看这个
目标:
1 | width: -moz-calc(100% - 10px); |
错误less
:
1 | //less的mixin |
错误结果:
1 | width: -moz-calc(90%); |
原因:less
把这个当成运算式去执行了
正确less
:
1 | //less的mixin |
结果就是目标,验证通过
很多知识都是有许多不被注意的细节,一不小心就会拐错了弯,翻了车。今天说几个正则需要注意的地方。
reg.exec(string)
:reg.test(string)
: 返回的是true和false。string.match(reg/str)
:reg.exec()
,如果正则带有标志g,且有多个匹配的子串,会返回有多个元素的数组。null
'1 2 ()'.match('1 2 ()')
,当字符串里面有()
时match
直接返回null
,因为括号是正则中特殊的存在,可以匹配$N
。此时用indexOf()
。string.replace(reg/str,replacement)
:将字符串 满足reg的子串/指定的str 替换为replacement,返回值为替换后的结果,原变量不变string.search(reg)
:作用类似于string.indexOf()
,返回符合正则的起始下标,如果没找到也为-1$1...$9
:每当产生一个带括号的成功匹配时,$1…$9 属性的值就被修改。可以在一个正则表达式模式中指定任意多个带括号的子匹配,但只能存储最新的九个。
Note: