美文网首页Vue
vue 特定原理说明

vue 特定原理说明

作者: jasmine_6aa1 | 来源:发表于2020-03-29 00:40 被阅读0次
1,vue data 为什么是一个函数

答:data是一个对象的话,我们用时,它的指向都是一个地方,所以会出现数据污染,但是返回data函数时,都会开辟一个新的内存空间,不会造成数据污染。
防止数据进行污染,每注册一个组件,就相当于返回一个组件私有的data,不会进行数据污染

2,vue v-model运行原理

双向绑定得的实现主要依赖于Object.defineProperty(),通过这个函数可以监听到get,set事件

image.png

其中observer是最主要的部分,用Object.defineProperty来实现数据的劫持,然后用他的set,get方法来通知订阅者,触发update方法,从而实现更新视图

image.png

订阅者模式:每一个{{name}} v-model=‘name’都会添加一个订阅者,从而监听不同部分的变化,每一部分变化时都会循环触发相应的订阅者,更新到页面中。

3,vue 添加了新数据,为什么视图不更新?

Vue 无法检测 property 的添加或移除。由于 Vue 会在初始化实例时对 property 执行 getter/setter 转化,所以 property 必须在 data 对象上存在才能让 Vue 将它转换为响应式的。

对于已经创建的实例,Vue 不允许动态添加根级别的响应式 property。但是,可以使用 $set 方法,新添加的属性值会被Vue监听到并且同步渲染到页面上

3,vue 添加数据,视图不更新

Vue 无法检测 property 的添加或移除。由于 Vue 会在初始化实例时对 property 执行 getter/setter 转化,所以 property 必须在 data 对象上存在才能让 Vue 将它转换为响应式的。

对于已经创建的实例,Vue 不允许动态添加根级别的响应式 property。但是,可以使用 Vue.set(object, propertyName, value) 方法向嵌套对象添加响应式 property。

用 $set 方法,新添加的属性值会被Vue监听到并且同步渲染到页面上

4,this.$nextick() 原理

Vue实现响应式并不是数据发生变化之后DOM立即变化,而是异步执行DOM更新的。

1,修改 Vue 中的 Data 时,就会触发所有和这个 Data 相关的 Watcher 进行更新。
2,首先,会将所有的 Watcher 加入事件队列。
3,然后,调用 nextTick 方法,执行异步任务。
4,在异步任务的回调中,对事件中的 Watcher 进行排序,然后执行对应的 DOM 更新。

相关文章

  • vue 特定原理说明

    1,vue data 为什么是一个函数 答:data是一个对象的话,我们用时,它的指向都是一个地方,所以会出现数据...

  • vue总结

    vue路由守卫 vue实现双向绑定原理 Vue生命周期: vue跨域方式 vue-router实现原理 vue-r...

  • 面试总结之基础(2)

    Vue2响应式原理 Vue3响应式原理

  • 教程:零代码利用RSS和IFTTT,免翻墙查看Instagram

    一、原理及工具说明 原理: 利用IFTTT,通过用国内可以正常访问的第三方平台提取特定图片的网页链接并上传到它的云...

  • vue原理面试题资源整理

    vuex面试题 Vue生命周期 周期2 Vue通信 父子 兄弟 Vue响应式原理 MVVM Vue axios原理...

  • Vue.nextTick实现原理

    vue 2.X 深入响应式原理的异步更新队列中说明如下: 只要侦听到数据变化,Vue 将开启一个队列,并缓冲在同一...

  • VUE(面试题)

    1、vue双向绑定原理vue2.x:vue双向绑定的原理是利用了Object.defineProperty()这个...

  • Vue面试题集锦

    VUE的双向绑定原理 原理:在创建Vue实例时,Vue会遍历data选项的属性,利用Object.definePr...

  • Vue响应式原理

    Vue2.x 核心响应式原理 Vue3.0 核心响应式原理 Vue 自定义事件 Vue 发布订阅模式 发布/订阅模...

  • 数据代理 、 模板解析、 数据绑定

    7.1. 说明 1)分析 vue 作为一个 MVVM 框架的基本实现原理 数据代理 模板解析 数据绑定 2)不直接...

网友评论

    本文标题:vue 特定原理说明

    本文链接:https://www.haomeiwen.com/subject/zcseuhtx.html