Vue2.0 中,这两个概念是什么?
作者:徐飞链接:https://www.zhihu.com/question/51907207/answer/136559185来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
在我看来,渐进式代表的含义是:主张最少。
每个框架都不可避免会有自己的一些特点,从而会对使用者有一定的要求,这些要求就是主张,主张有强有弱,它的强势程度会影响在业务开发中的使用方式。
比如说,Angular,它两个版本都是强主张的,如果你用它,必须接受以下东西:- 必须使用它的模块机制- 必须使用它的依赖注入- 必须使用它的特殊形式定义组件(这一点每个视图框架都有,难以避免)所以Angular是带有比较强的排它性的,如果你的应用不是从头开始,而是要不断考虑是否跟其他东西集成,这些主张会带来一些困扰。比如React,它也有一定程度的主张,它的主张主要是函数式编程的理念,比如说,你需要知道什么是副作用,什么是纯函数,如何隔离副作用。它的侵入性看似没有Angular那么强,主要因为它是软性侵入。你当然可以只用React的视图层,但几乎没有人这么用,为什么呢,因为你用了它,就会 ...
图片格式详解:PNG、JPEG、GIF、SVG
PNG、JPEG、GIF、SVG应该用哪个?0.6742016.10.13 21:49:27字数 1790阅读 11501Beginning
当我们构建网站或者开发App的时候,应当怎样选择使用图片的类型呢?
是简单的全部使用一种类型还是根据业务情形选择不同的图片类型呢?
每种类型的图片类型又有怎样的优点和缺点呢?
Concepts
图片呈现效果的异同跟以下两个因素有关:
首先,压缩分两派:无损压缩和有损压缩。
无损压缩 :能够使图片占用的存储空间变小,而且不会损害图片的质量。
有损压缩:相对无损压缩会压缩的更狠一点,但是不可避免的会对图片质量产生损害。如果有损压缩的次数多了的话,那么图片的质量也会越来越差。
其次也有不同的色彩深度(色彩模式):索引色彩和直接色彩。
索引色彩 :这个模式下图片仅可以存储有限数量的颜色种类(通常是2^8即256种)。
直接色彩:这个模式下你可以存储成千上万种颜色值,所以相对而言采用这种模式的图片会显得色彩更加丰富饱满和艳丽。
接下来会通过这两个维度对常见的几种图片类型来进行分析和比较,总结它们的优缺点和适用场景。
BMP - 无损压缩、索 ...
sublime Text 正则替换
原文链接
我遇到一个文章,需要把所有的 (数字) 换为 [数字]于是我使用 Sublime Text的替换首先,我们需要打开正则使用“Alt+R” 或打开“Ctrl+h”选择正则。然后我们开始输入正则,“ ((\d+) ” 我们需要拿出的是数字,所有在数字加“()”。于是在替换写“[$1]”,其中$0就是所有的,$1就是第一个括号。如何使用正则可以去看正则表达入门。Sumlime 还可以创建代码行,做法也很简单。点击 Tools New Snippet< snippet>
< content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]>< /content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Op ...
CSS中id与class 命名规则及编码的6个最佳习惯
一、用class_name方式写类名以前喜欢用class-name写,不过好像两样也没什么差别。但我比较反对用className写类名,因为始终对浏览器大小写敏感的问题抱有怀疑态度。但是id我会写成驼峰式,理由见下一条。
二、样式都用class而不用id有三个理由。
1,id不可以重复,所以用class的话,可以肆无忌惮的用无数次。
2,id的优先级太高,若是写了一个#page_contenta{color:#f60},那你完蛋了,里面要改链接颜色,都必须加上#page_content才能越过这个优先级。
3,id专门留给JS用,这样才符合表现与行为分离的原则。所以id我用驼峰式,也是为了体现这一点。
三、margin和padding,尽量省略最后一个值比如margin:20px10px5px10px;,左右值是一样的,就应该省略掉最后一个值,写成margin:20px10px5px;这样到时候要改左右间距,改一个就好,免得改漏了。其实这个问题虽然很细小,但是可以看得出对margin四个值省略规则的熟练程度。
四、按标准写css,再针对特定浏览器作hack比如, ...
HTML,CSS的class与id命名规则
最重要的部分先说(命名书写格式)常见的格式有:连接符(search-btn)、下划线、全小(searchbox)、小驼峰(searchBox)。
现在用得多广泛的还是第一种使用连接符,易读、书写方便。
在这里小编推荐大家id使用下划线_来进行连接,class用中划线-来进行连接
网页公共命名:
#wrapper - - 页面外围控制整体布局宽度
#container或#content - - 容器,用于最外层
#layout - - 布局
#head,#header - - 页头部分
#foot,#footer - - 页脚部分
#nav - - 主导航
#subnav - - 二级导航
#menu - - 菜单
#submenu - - 子菜单
#sidebar - - 侧栏
#sidebar_a,#sidebar_b - - 左边栏或右边栏
#main - - 页面主体
#tag - - 标签
#ms ...
jQ动画效果大全
一、show()方法和hide()方法
1.show()与hide()
show():根据hide()方法记住的display属性值来显示元素。
hide() : 将该元素的display样式改为 "none"。
2.参数让元素动起来:
单纯的调用show()和hide()相当于css("display","none/block/inline"),不会有任何动画。如果希望调用元素慢慢显示/消失,则可以为show()/hide()方法指定一个速度参数.
参数:slow,normal,fast,数值(以毫秒为单位)
$("element").show("slow"); //元素将在600毫秒内慢慢地显示出来$("element").show("normal"); //元素将在400毫秒内慢慢地显示出来$("element").show("fast"); //元素将在200毫秒内慢慢地显示出来$("element").hide("1000"); //元素将在 ...
js 原型链的理解
A
A
默认
护眼
夜间
阅读(67243)
书签
赞(6)
分享
我要纠错
JavaScript 原型链的理解
由 alexbro 创建,Loen 最后一次修改 2018-02-24
看这样一段代码:var Person = function () { };
var p = new Person();我们来看看这个 new 究竟做了什么?我们把 new 的过程拆分成以下三步:1. var p={}; 也就是说,初始化一个对象p。2. p.__proto__=Person.prototype;3. Person.call(p);也就是说构造p,也可以称之为初始化p。我们来证明一下:var Person = function () { };
var p = new Person();
alert(p.__proto__ === Person.prototype); // true
这段代 ...
Emmet的html语法
所有操作按下“tab”键即可瞬间完成
元素1.在编辑器中输入元素名称,即可自动补全生成 HTML 标签,即使不是标准的 HTML 标签。2.输入:! 或者 html:5 或者 html:4s 或者 html:4t 将自动补全html基本结构
嵌套操作1.使用“>”生成子元素
123456789// 输入div>ul>li// 按下TAB键<div> <ul> <li></li> </ul></div>
2.使用“+”生成兄弟元素
1234567// 输入div+p+bq// 按下TAB键<div></div><p></p><blockquote></blockquote>
3.使用“^”生成父元素
123456789// 输入div+div&g ...
js、jq获取当前鼠标位置
使用jQuery获取123456789101112131415161718192021<html><head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> <title>javascript获得鼠标位置</title> <script src="js/jquery.min.js"></script></head><body id="testDiv"></body><script type="text/javascript"> $('#testDiv').mousemove(function (e) { var xx = e.originalEvent.x || e.originalEvent.la ...
js中的事件委托和事件代理详解
起因:
1、这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的;
2、其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考;
概述:
那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子,就是取快递来解释这个现象,我仔细揣摩了一下,这个例子还真是恰当,我就不去想别的例子来解释了,借花献佛,我摘过来,大家认真领会一下事件委托到底是一个什么原理:
有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为签收。现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递)。前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款。这种方案还有一个优势,那就是即使公司里来了新员工(不管多少),前台MM也会在收到寄给新员工的快递后 ...