五千年(敝帚自珍)

主题:【原创】jquery 和 vue -- 铁手

共:💬13 🌺94
全看分页树展 · 主题
家园 【原创】jquery 和 vue

西西河的网站前端开发,我以前主要用 jquery。因为前端后端都是自己做,所以知道该在什么地方用 jquery 作什么事情,自我感觉逻辑清晰,问题分隔比较清楚,一旦有什么问题,基本上能够很快找到地方,然后进行适当的修改,完工。

总体而言,我觉得 jquery 的主要好处是定点精细操作,不好的地方是如果程序大了,这些定点的唯一性比较难以把握,特别是在定型后添加新东西的时候。

本来我觉得用 jquery 基本上够用,只是最近几年来更新似乎停顿,网上有说法因为一些其他的前端工具的兴起,jquery 逐渐的被人放弃,我也只好看看其他的选择。其实,在我看来 jquery 简单明了,功能强大,不维持有点可惜。不过,也许是我的思维方式比较老套。

我现在决定选择用 vue js 作前端,主要原因是看起来容易上手,设计理念上也比较符合我的思路。

jquery 的时候,是对网页里的 dom 直接操作,需要通过选择定位,然后对那个定位进行操作,比如动画,比如添加新内容,取消旧内容,特别是通过 ajax 获得后台新内容时,直接了当。

用 Vue 的时候,思路上需要有一个比较根本性的转变。它的基本概念是:数据驱动的界面元素改变。我要做的,主要是提供数据,然后这些数据来驱动设定的模板来显示内容。最大的好处是,我只需要关心数据和显示的模板,具体的显示则交给 Vue 去实现,包括数据变动时的即时更新。 jquery 的时候,要自己去更新,除此之外,jquery 也基本上不做什么,所以客户端有没有瓶颈,瓶颈在什么地方,也容易知道。Vue 的话,显然它需要不断检测数据是否变动,所以除了更新显示以外,应该还需要消耗额外的资源来监测。但是没有看到有人抱怨这个,估计对性能没什么不良影响。

眼下看来,Vue 的确也很方便,对于单个页面来说,用 component 来组织页面,动态显示和更新的确很容易。不幸的是,我现在卡壳在怎么显示通过 ajax 载入的内容。

比如以一个弹出窗口为例子。如下的格式:

-- 标题 --

-- 内容 --

用 jquery 的话,就用 ajax 获得的内容直接更新就行了。Vue 不太好这么作。按我目前的理解,最好是建立一个模板,然后 ajax 更新的是其中相关的数据。问题是,jquery 可以用一个格式来塞各种内容。用 vue 的话,就需要对不同的内容套用不同的模板,感觉有些复杂。但话说回来,jquery 的时候,也可以看作是服务器在套各种模板,vue 则是简化服务器,客户端多了一些工作。也能说的过去。

最大的问题,目前还没有想通的是,比如以下的内容:

<vue-component1></vue-component1>

一些内容

<vue-component2></vue-component2>

一些内容

<vue-component3></vue-component3>

如果在一个完整页面上,显示没问题。vue 在页面载入后对这些 vue 相关的内容进行了处理,这些 component 被转换成相应的html来显示。那如果这段内容是通过 ajax 载入的话,怎么让它正常显示呢?

关键词(Tags): #jquery#vue通宝推:hullo,黄锴爱李莹,桥上,mezhan,
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河