谈谈vue与jQuery

无题

虽然十分不想搭理前端,也不想过多去接触开发,但无奈接了多个前端的锅,也确实花费了我大量的时间在前端开发上(摊手)。总而言之,我的前端开发能力,虽然依旧菜得抠脚,但也有一些小小的感悟。

我曾想用vue+bootstrap搭建一个前端项目,但在此过程中,却遇到了一个问题:
bootstrap中,要实现对其中一些组件的操作,官网的示例都是使用jQuery进行的,bootstrap本身也是与jQuery紧密结合的。而我却是采用vue————一个不擅于操作DOM(文档对象模型 Document Object Model)元素的框架。

用过jQuery的人,应该能深刻体会到其操作DOM元素的便捷。而,bootstrap+jQuery 的组合在以前更是无往而不利。

但,奈何我用的是vuevue 主张对DOM元素渲染,而不是操作。网上找寻 vue实现DOM操作 的答案,答案中有实现的方法,却又不主张这样做。

这就令我这个想在vue中使用bootstrap组件的人,寸步难行了。同时,也给我带来了深深的不解,为什么vue中不支持便捷的DOM操作呢?难道仅仅为了提高速度吗?

终于,在网上的一个回答中,我找到了答案

原来,vue 是一种前端的MVVM框架(模型-视图-视图模型)。因此,我们不应该去操作视图,而应该去操作数据,然后让数据响应到视图中去。

答案中的一句话,也令我醍醐灌顶:

这样做的根源在于,视图应该是数据的反应,而不是数据本身。这样,我们才能把“业务逻辑”和“视图逻辑”去分开。降低耦合,降低维护成本,提升开发效率。

不过,道理明白了,可问题还没解决。bootstrap本身就是适合jQuery的,那要如何去操作bootstrap中的组件呢?那就不用吧。

此时,iview便应运而生了。这是vuejs中著名的开源框架之一。该框架提供了丰富的组件库,而组件对应的逻辑操作都是vuejs模式的,使用起来十分舒畅。

bootstrap强大的CSS布局样式,也令人依依不舍。

于是,我决定最终项目的框架使用为:vue+iview组件+bootstrap布局

结语

总言道,前端不如后端,其实不然。在如今,不仅后端在飞速发展,前端也呈现大爆炸的景象。两者可谓齐头并进了。而我也仅仅接触了前端的冰山一角,前端的世界丰富难言。

不过,后端真香。