Vue.js库每天都在流行,尽管并不是每个人都理解Vue的原因,在这种情况下可以并且应该使用Vue。
从技术上讲,Vue.js被定义为MVVM模板的ViewModel层。它将模型和视图连接到双向数据绑定中。当前的DOM更改和格式化的输出在“指令和过滤器”中进行了抽象。
目的是通过简单易懂的API提供快速数据绑定和复杂组件表示的优势。该库不是一个完整的框架,它只是一个表示层。您可以将其作为独立的快速原型应用程序使用,也可以与其他库混合使用以自定义用户界面。
Vue.js受Angular和React的影响很大。尽管有相似之处,但Vue.js可以为这些现有库提供有价值的替代方法,以寻求在简单性和功能性之间的黄金分割。
Vue.js和Angular.js之间的区别
使用Vue.js代替Angular的原因有很多,尽管并非所有原因都可以应用于所有项目:
1.Vue.js在解决方案中更灵活,更简单。这使您可以根据需要构造应用程序,而不是强制它在Angular中完成所有操作。Vue只是一个表示层,因此您可以将其用作应用程序页面上的醒目功能,而不是全面框架。这为您提供了将Vue与其他库结合的更多机会,但您还负责更多的体系结构解决方案。例如,Vue.js内核不包含包装盒中的路由或ajax函数,通常假定您正在使用外部模块构建应用程序。这可能是最重要的区别。
2.在API方面和设计方面,Vue.js都比Angular简单得多。您可以足够快地学习Vue.js的几乎所有方面,并立即开始编写。
3.Vue.js具有更高的性能,因为它不使用“脏检查”。当使用多个观察者时,Angular会变慢,因为每次随着范围的变化,所有这些观察者都需要重新计算。Vue.js不受此困扰,因为它使用了透明的观察者跟踪系统,因此,如果存在明显的相关依赖项,则所有更改将单独调用。
Vue.js和React.js之间的区别
React和Vue.js在支持组件的反应性和组件表示方面有一点相似之处。但是,内部实现方式完全不同。React是基于虚拟DOM的-在内存中表示DOM的外观。React中的数据基本保持不变,并且DOM更改是根据差异计算的。相反,在Vue.js中,默认情况下会更改数据,并且会通过事件进行更改。Vue.js代替虚拟DOM,而直接将DOM作为模板使用,保留对现有节点的引用以进行绑定。2.使用虚拟DOM的方法可以随时提供一种功能来描述您的演示文稿,这非常好。因为不使用观察者模式,并且每次更新都不会重绘整个应用程序,所以按定义视图可以保证与数据同步,这也为同构JavaScript应用程序提供了机会。
3.但是使用React的问题是您的逻辑和表示紧密地交织在一起。对于某些开发人员来说,这是一个加号,但是对于混合动力的设计者/开发人员,在设计和CSS中呈现模板显然要容易得多。JSX与Javascript逻辑合并,打破了在设计中显示代码所需的可视模型。相比之下,Vue.js支付了它的轻量级指令,但是您始终可以在指令和过滤器中直观地看到模板以及封装的逻辑。
4.React的另一个问题是DOM,当您实际需要自己控制DOM时会有些棘手(尽管从理论上讲,您可以在必要时与库进行对比)。对于需要及时进行复杂同步动画的应用程序,这可能会成为非常烦人的约束。在这一方面,Vue.js更加灵活。