主题:【原创】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 载入的话,怎么让它正常显示呢?
- 相关回复 上下关系8
🙂【原创】jquery 和 vue
🙂VUE的设计理念比较适合国人思维。 2 土壤 字0 2020-07-29 07:35:47
🙂jquery 过时是因为它提供的便利性已经成为语言特性 20 透明 字674 2020-07-27 22:43:30
🙂正解,前端就像时装,不断有潮流 8 敲门 字388 2020-07-29 07:54:23
🙂太感谢了,一并请教 8 铁手 字2120 2020-07-28 13:39:33
🙂我不是一个vue的重度使用者,虽然vue会是首选。 5 透明 字2317 2020-07-30 11:59:03
🙂多谢。前面的问题通过 vue.extend 暂时解觉了 5 铁手 字1460 2020-07-31 16:30:11
🙂一个版本足以,CSS这块估计要综合考虑 4 敲门 字495 2020-07-29 08:00:15