vue 等框架不如 jquery 的地方: dom 无法参与计算,仅仅是用来展示。

2018-03-15 11:29:19 +08:00
 gs139
比方说一排按钮,点击过以后变成灰色,灰色的再点击就不参与计算,用 jquery 的话,直接根据这个按钮的颜色就可以判断是否再参与计算。而 vue,必须得给这个按钮加一个属性,用来记录它的颜色。

这只是个简单的例子,如果是 n 排按钮,按钮要用 div 包裹,点击过后 div 的背景也变色,也要根据这个按钮的父元素 div 的颜色来判断,如果是 n 层 div 嵌套,用 vue 就很复杂了,用 jquery 直接用 parent().parent().parent()向上取父元素的属性即可。

简而言之,jquery 计算页面逻辑就像图形数据库,图形本身是参与运算的,而 vue 等框架,你必须得在脑子里建模,图形不参与运算,只用来展示。
14923 次点击
所在节点    程序员
138 条回复
littlebaozi
2018-03-15 16:20:13 +08:00
“ jquery 能保证只修改这一个 dom,vue 还得再虚拟 dom 里模拟一遍,还说不准谁比谁快呢”
dong3580
2018-03-15 16:20:24 +08:00
@learnshare
然而好多人用 vue 的原因因为他要操作 dom,之所以不用 ng,因为他觉得不方便,而 vue 有地方可以方便加 jquery 操作 dom。
learnshare
2018-03-15 16:34:46 +08:00
@dong3580 用 Angular/React/Vue 都不影响操作 DOM,只是操作的时机需要把控好

使用 jQuery 或以上三种库 /框架的原因无外乎以下几种:
1. 使用者更熟悉;
2. 听说不错(盲目上);
3. 追求模块化、组件化;
4. 追求开发效率和质量。

技术难分优劣,只有是否符合需求。
xianxiaobo
2018-03-15 16:36:44 +08:00
@DOLLOR 正解
overflowHidden
2018-03-15 16:46:17 +08:00
你要觉得链式结构跟一大堆 parent 很方便那也可以啊,vue 父子组件通信了解一下
tanszhe
2018-03-15 16:49:13 +08:00
各有特色哈,vue 重点在数据 数据的绑定,jquery 重点在界面 各种 dom 的操作
tgxh
2018-03-15 16:53:33 +08:00
本来就不是万能的东西,你要想大量操作 dom 用 jQuery 也并没有问题。
iwege
2018-03-15 17:01:27 +08:00
你要说 PHP 是 Service Side Render 那是一点异议都没有。
你说 jQuery 比 React 的效率高,那也是一点异议都没有....
zhjie
2018-03-15 17:16:43 +08:00
这个小老板技术还是勉强,单论前端或许只是 jq 工程师吧,既然 jq 那么好,那就继续用下去吧。
flashback313
2018-03-15 17:23:34 +08:00
看了半天,难道楼主的 dom 和 state tree 是不一致的?
SakuraKuma
2018-03-15 17:23:49 +08:00
一路看下来,居然没开到那个一把梭??

vue 大型项目你会很高兴的。
小 demo jq 撸起也十分带感。
Exin
2018-03-15 17:36:14 +08:00
楼主说的对(
awesomes
2018-03-15 17:56:59 +08:00
正喝着水呢,看到这句

> 直接根据这个按钮的颜色就可以判断是否再参与计算

瞬间喷了出来
marcong95
2018-03-15 17:58:43 +08:00
@gs139 啥叫模仿后端,这世界从一开始就没有前端后端,你写 native apps 的时候有这么分的么。当年互联网刚发展浏览器之间有兼容性问题,就出了一个叫前端的岗位专门对付这些问题。归根结底不还是软件开发
rashawn
2018-03-15 18:46:06 +08:00
不过 vue 到底解决了啥问题
tairan2006
2018-03-15 19:36:32 +08:00
感觉楼主既不熟悉 JQuery,也不熟悉 Vue ……
DOLLOR
2018-03-15 19:39:52 +08:00
楼主的思维:一个项目参不参与计算,是由它的颜色决定的。
Vue 的思维:一个项目的颜色,是由它参不参与计算决定的。
fsship
2018-03-15 20:55:37 +08:00
@gs139
>如果界面到了大幅调整的程度,你确定 vue 不是重写?用 vue 重构的时间,jquery 都重写好几遍了。

有时真的不是。。。如果还是那些数据的话,用 vue 只要把界面重写下就行了,操作数据的逻辑部分不需要改。
而你那种直接在 dom 里操作数据的方式就不仅是界面,逻辑部分也要跟着改了。
feverzsj
2018-03-15 21:02:02 +08:00
web 前端开发的思路确实比较奇怪,明明有 js 对象接口,一定要自己用 selector 去查找,而 vue 同样是畸形思路的产物
tanranran
2018-03-15 21:02:45 +08:00
现在大多数项目还是 jquery+vue 混用的.

遇到重 UI 的,jQuery 确实不可少

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/438267

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX