数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作
(5)虚拟dom
不再使用原生的dom操作节点,极大解放dom操作,但具体操作的还是dom不过是换了另一种方式
(6)各种指令;过滤器
-
v-text
主要用来更新textContent,可以等同于JS的text属性。 -
v-html
双大括号的方式会将数据解释为纯文本,而非HTML。为了输出真正的HTML,可以用v-html指令。它等同于JS的innerHtml属性。 -
v-if
可以实现条件渲染,Vue会根据表达式的值的真假条件来渲染元素。 -
v-else
是搭配v-if使用的,它必须紧跟在v-if或者v-else-if后面,否则不起作用。 -
v-show
和v-if不同的是,如果v-if的值是false,则这个元素被销毁,不在dom中。但是v-show的元素会始终被渲染并保存在dom中,它只是简单的切换css的dispaly属性。 -
v-for
指令根据遍历数组来进行渲染 -
v-bind
用来动态的绑定一个或者多个特性。没有参数时,可以绑定到一个包含键值对的对象。常用于动态绑定class和style。以及href等。简写为一个冒号【 :】 -
v-model
指令用于在表单上创建双向数据绑定。v-model会忽略所有表单元素的value、checked、selected特性的初始值。因为它选择Vue实例数据做为具体的值。 -
v-on
主要用来监听dom事件,以便执行一些代码块。表达式可以是一个方法名。
说明:以上都是vue常用指令
(7)前后端分离
(8)单页面应用用户体验好
过滤器:
过滤器分为全局过滤器和本地过滤器
全局过滤器跨所有组件访问全局过滤器,而本地过滤器只允许你在其定义的组件内部使用
缺点:
不适于seo优化,而且封装的比较厉害,报错不明显,适合单人开发,适合中小型项目
优点:
(1)React速度很快
它并不直接对DOM进行操作,引入了一个叫做虚拟DOM的概念,安插在javascript逻辑和实际的DOM之间,性能好
(2)跨浏览器兼容
虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。
(8)一切都是component:
代码更加模块化,重用代码更容易,可维护性高。
(9)单向数据流
Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。
(10)同构、纯粹的javascript
因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。
(11)兼容性好
比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。
缺点:
(1)不适合单独做一个完整的框架
React是目标是UI组件,通常可以和其它框架组合使用,目前并不适合单独做一个完整的框架。React 即使配上 Flux 的组合,也不能称之一个完整的框架,比如你想用Promise化的AJAX?对不起没有,自己找现成的库去。而且第三方组件远远不如Angular多。React本身只是一个V而已,所以如果是大型项目想要一套完整的框架的话,也许还需要引入Flux和route相关的东西。而Angular在这方面提供的东西比React多多了.
(2)大多数坑没踩出来
最后
小编的一位同事在校期间连续三年参加ACM-ICPC竞赛。从参赛开始,原计划每天刷一道算法题,实际上每天有时候不止一题,一年最终完成了 600+:
凭借三年刷题经验,他在校招中很快拿到了各大公司的offer。
入职前,他把他的刷题经验总结成1121页PDF书籍,作为礼物赠送给他的学弟学妹,希望同学们都能在最短时间内掌握校招常见的算法及解题思路。
整本书,我仔细看了一遍,作者非常细心地将常见核心算法题和汇总题拆分为4个章节。
而对于有时间的同学,作者还给出了他结合众多数据结构算法书籍,挑选出的一千多道题的解题思路和方法,以供有需要的同学慢慢研究。