Vue数据驱动模拟实现5
一、前言 在”模拟Vue之数据驱动4″中,我们实现了push、pop等数组变异方法。 但是,在随笔末尾我们提到,当pop、sort这些方法触发后,该怎么办呢?因为其实,它们并没有往数组中新增属性呢。 而且,当数据改动后,如果我们在变动数据处,就立即更改数据也未免性能不够,此时,走读Vue源码,发现他用了一个很巧妙的方法,就是职责链模式。当某个数据有所变动时,它会向上传递,通俗点就是冒泡至根结点,这样我们也可以在自己代码中使用事件代理咯,哇卡哇卡。 示意图如下所示: 好了,说了这么多,我们下面就一起来实现下吧。 二、正文 注:以下代码皆编写在observer.js文件中。 首先,当数据变动