首页 > 各抒己见~抛砖引玉,如何处理页面上复杂的JS操作?

各抒己见~抛砖引玉,如何处理页面上复杂的JS操作?

不知道这算不算一个小白的问题,暂且就算吧~

先来描述一个情景,比如有一个页面,上面有各种按钮,每个按钮可能都会对页面带来一些变化,还有几个input用于输入。

问题是,在你编写JS的时候,如何处理这些不同操作的响应,怎么去平衡它。这么说还是有点抽象,在具体一下,比如点击BtnA就开始编写记录,这时可能还可以点击其他记录的BtnB按钮用来编辑其他记录,我们当然不想将两个操作混杂,这时怎么做能在代码层面上使逻辑清晰呢?

我先说下我一般的做法,是在代码中有一个flag标志,表明当前操作进入了什么样的状态,比如新增,删除,编辑,那么此时就不允许其他动作的执行,也就是要在每个动作发生之前进行一下判断。

有没有更好的解决之道呢?类似的问题其实还很多,比如是失去焦点时的协调问题,等等。


观察者模式:任何UI组件自我维护、渲染,当UI组件之间有联动或交互的时候,通过事件进行触发和通知,发出事件的对象称为“被观察者”,侦听其他组件变化的对象称为“观察者”。这样可以保持UI组件的独立性,当UI组件相互之间的交互复杂的时候,更为必要。

具体的在前端,可以选择一种MV*框架,我喜欢使用Backbone,其优势在于它是MV*模式,但是又不仅仅限于此,其内置上面的事件模型,用起来比较方便,不仅可以实现model和view的观察,view和view同样可以互相观察。1500行源码,看起来也不困难


组织大表单应用中javascript代码的一种方法

【热门文章】
【热门文章】