响应式和数据劫持

响应式是无需重新编译,访问元素,直接改data数据,页面自动更新。响应式是根据Object的get和set,数据代理与数据劫持做来的。当模板中有语法,vue调用get/set,set之后还是改data数据,调get,vm用别的方法对get的值进行渲染。会对data内所有的值深度的,都增加get与set方法,进行渲染。都有响应。但是如果是后期增加的属性,没get,set方法,无法渲染,因此,只能出现胡子等问题。
后期增加的vm.$data.a=1等,用时用$data只有data内的数据做了响应式。计算属性会渲染,但不是响应式。而且无法渲染,在data中的。vm.a=1无法渲染。而且肯定没响应式。用Vue.($)set(对象,属性名,属性值),对象必须是data第二级和以下才有响应式。data当中的深度响应也只能是json内的喽,set方法不能用实例调。只是Vue类,未对data当中的数组的每一项,添加响应式。但是在Vue中没响应式,控制台上没用,devtools插件上有响应式。devtools上将有响应式的都显示出了。但是有Vue.$set(数组,下标,值)改了相当于响应,渲染。但是之后改还是没用。还有七个方法,但是都只是改的时候能渲染,但是不像之前属性,那样直接配响应式,只能改一时。

你可能感兴趣的:(vue.js,javascript,前端)