最近需要用原生js写一个业务组件,但是里面有很多dom的操作,用原生js是写的真难受,动态加dom,加样式,显示隐藏dom,绑定事件和解绑事件等等。请问下大佬们,在用原生写组件的时候,关于操作dom这块有没有别的js库或者好用的方法,让这块能简单点
最近需要用原生js写一个业务组件,但是里面有很多dom的操作,用原生js是写的真难受,动态加dom,加样式,显示隐藏dom,绑定事件和解绑事件等等。请问下大佬们,在用原生写组件的时候,关于操作dom这块有没有别的js库或者好用的方法,让这块能简单点
看了下你跟别人的沟通,其实整个组件都用一个委托,是可以的,比如click(我之前写过一个表格,就一个点击,涉及输入框、下拉框和按钮),只要你把逻辑合理的分散出去就行了,但是如果是input这种特定元件,要绑定change或者input,那就只能逐个绑定了。
原生js写的麻烦之处主要在于:数据(model),dom(view)和事件(action)的配合,vue和react这些框架把这3个点糅合起来了,提供了一套指令和定义的开发模式给你,如果要原生js写的顺畅,你也必须通过一定的编程方法论去糅合这3个东西。
为了简单起见,我觉得你可以用zepto,你可以把里面多余的模块剥离(很好剥离),比如ajax和表单处理,只留下事件和dom模块,然后你自己通过面向对象的思想,将数据进行建模和封装,把事件和dom操作关联起来,实现你调用方法,驱动dom更新和事件,而不是每次:数据逻辑操作=>dom获取=>dom更新,这样一连串麻烦的事情,确实很烦。
27 回答13k 阅读
8 回答3.5k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
5 回答5.3k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.7k 阅读
Vanilla JS——世界上最轻量的JavaScript框架(没有之一)