对象变化侦测原理(三) 2021-08-28 2023-04-02 编程语言 / Vue 17 分钟读完 (大约2604个字)三、Array 数组侦测数组 Array 虽然也是属于对象类型,但还是存在一些差别,它没办法像 Object 对象那样,通过 setter/getter 的方式来监听属性的变化,因此对于 Array 而言,需要用到另外一套变化侦测方案。 3.1 如何追踪变化我们知道,Array 数组有很多个内置方法可以改变数组的值,比如 push,pop,shift等,这些方法都可以改变数组的内容,所以可以尝试通过监听这些方法的调用,来达到监听数组变化的目的。 但是,这些方法都是内置方法,而且 js 中并没有提供接口给我们覆盖,因此要如何修改这些方法,以达到我们需要的效果呢? Vue 阅读更多
对象变化侦测原理(二) 2021-08-28 2023-04-02 编程语言 / Vue 14 分钟读完 (大约2030个字)二、Object 变化侦测变化侦测指的是,当运行时的状态发生变化时,应用程序可以知道哪个状态发生了变化,并作出相应的动作。 变化侦测的方式可以分为2种:一种是“推(push)”,一种是“拉(pull)”。 Vue 的变化侦测就属于“推,当状态发生变化时,它就会通知相应的依赖对象进行更新。 2.1 追踪变化 Vue 阅读更多
对象变化侦测原理(一) 2021-08-28 2023-04-02 编程语言 / Vue 7 分钟读完 (大约1111个字)变化侦测原理一、对象属性对于 js 对象的属性,可以分为2种:数据属性和访问属性。 1.1 数据属性数据属性就是普通的对象属性值,可以读入和写入值。 例如,下述的属性 data 就是数据属性: 1234var obj = {};obj.data = 'data';alert(obj.data) // "data" 对于数据属性,它有4个特性: Vue 阅读更多