需要以服务器端传过来的json字符串来生成部分HTML时我是否该去学习js mvvm框架?

比如说一个客户端页面上的所有交互都通过json格式的字符串给websocket服务器
而服务器的反馈与指令也同样通过websocket将json字符串传递给客户端js
当客户端js接到指令时需要根据指令渲染一些html元素
这种时候我是否应该学习使用mvvm框架? 目前一直在用jQuery,感到有点力不从心
如果不需要的话,请陈述下原因
如果需要的话,我应该先从哪个框架开始入门呢?求推荐


补充:是IM项目,因为互动的逻辑比较麻烦,要操作的DOM也挺多的..所以很头疼
后端是自己在写,所以对MVC还算熟,但前端的MVVM完全没接触过
看了下JS的框架感觉挺多的,也不知道入门该用哪一个学习曲线比较平缓一些
我自己对JS的设计模式只能说以前把书上的例子代码过了一遍,因为当时没机会去应用这些东西
所以忘得也差不多了...
主要是考虑到后期要长期维护的情况下,还是想用框架来做这事


感谢各位的回答,正在学习Vue了 谢谢你们

阅读 4k
5 个回答

有数据绑定的话应该会轻松不少。

推荐下 VUE 吧,局部实例的支持应该不会带来很大的迁移成本。

感觉你说的这个事好像不必要非用mvvm框架也能实现呀。你现在的项目是做IM吗?如果是的话,其实客户端只要一个数组就可以了,服务端每次来数据就往数组里添加,然后将数据刷新到页面上就可以了。如果说是这个功能的话,那react做这个比较合适,刷新页面的速度快。

即使不是这个业务需求所迫,你也应当去学习一下 MVVM 框架,且不说 MVVM 是当前的主流,即使是一些非主流的技术,在力所能及的情况下也应当去涉猎一下,知识的广度是个人能力的重要方面。
以上是抖机灵回答,根据你描述的实际场景,非常建议你至少上一个前端模板库来取代或配合 jQuery,这样可以把你从大量复杂的 DOM 操作代码中解脱出来。至于要不要上 MVVM 如果场景中还有大量交互任务的话,建议直接 MVVM,毕竟一个小巧的 MVVM 的大小基本与 jQuery 相当,如果你不是特别依赖 jQuery 的一些插件和动画等功能,完全也可以用 zepto 等更灵巧的库来代替 jQuery

json 生成 html 渲染这个,模板引擎就能做到啊。不限定语言的。

不够 nodo 或者 js 的模板渲染引擎最丰富, 跑一个 express 试试,结合 ejs 或者 handlebars

如果是个人项目的话,上不上MVVM,上哪个MVVM的实现框架都可以,因为保持学习永远是正确的;
如果是公司项目的话,那就要弄清楚MVVM的优缺点,和项目的需求啦。jQuery作为DOM操作库,操作粒度细到DOM,页面交互负责意味着繁琐地DOM操作,若没有组件化的开发模式等框框的约束,代码可以多恶心都可以的。
这时引入框架就是自然而然的需求了,但在引入前就要想清楚你现在遇到什么问题。一般就是操作粒度加粗——组件化/模块化,一个页面由100个dom组成,加粗后变成10个,心情一下舒畅不少。然后是View和Data的关系了,MVVM的卖点之一就是数据双向绑定,而React代表的是数据单向绑定,再抽象一下就是图和树的结构。就IM的基础功能而言,我认为单向绑定足矣。(当然选双向绑定也是OK的)
另外还要看具体模式的实现方式和技术点是不是你认同的,向React就力荐采用JSX,以JS为主导(JS主导HTML、CSS),而Angular则偏向Java风格等等。还有工具链是否完整易用,社区活跃与否,亲爹和干爹是否赢在起跑线等。
PS:其实我对MVVM等框架均不太熟悉,恰好最近为部门制定前端标准时也要考虑引入相关框架和技术架构,上述回答若有错漏,请见谅:)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题