5.2.3 与传统事件绑定的区别

与传统事件绑定的区别有如下几点。

(1)无须手动管理事件。ViewModel被销毁时,所有的事件处理器都会自动被删除,重新获取DOM绑定事件,然后在特定情况下解绑,最后解脱出来。

(2)解耦。ViewModel代码是纯粹的逻辑代码,和DOM无关,有利于将代码逻辑写成自动化测试用例。

(3)Vue.extend()。为了重复使用子组件,Vue.js提供了Vue.extend(options)方法创建基础Vue构造器的“子类”,参数options对象和直接声明Vue实例参数对象基本一致。

运行效果如图5-12所示。

图5-12 与传统事件绑定的区别运行效果