Vue的基本原理

创建vue实例,会遍历data中的属性,由object.defineProperty将其转为getter和setter,并追踪其依赖,当属性被访问或发生改变时会通知相应的watcher程序段在组件渲染的过程钟将其标记为依赖,之后当依赖项的setter被调用时会通知相应的watcher程序重新计算使得组件发生改变。

双向绑定: 数据劫持+发布订阅模式,数据劫持利用object.defineProperty劫持对象的访问器,属性变化我们获取变化,发布订阅模式发布者和订阅者互不知道对方,发布者发布到订阅器中,订阅者订获取阅器中的内容。

object.defineProperty对于数组而言大部分操作时拦截不到的,只能通过函数重写解决

  • v-on 给标签绑定函数,可以缩写为@,例如绑定一个点击函数 函数必须写在methods里面
  • v-bind 动态绑定 作用: 及时对页面的数据进行更改, 可以简写成:冒号
  • v-slot: 缩写为#, 组件插槽
  • v-for 根据数组的个数, 循环数组元素的同时还生成所在的标签
  • v-show 显示内容
  • v-if 显示与隐藏
  • v-else 必须和v-if连用 不能单独使用 否则报错
  • v-text 解析文本
  • v-html 解析html标签

Vue 处理指令时,v-for 比 v-if 具有更高的优先级, 虽然用起来也没报错好使, 但是性能不高, 如果你有5个元素被v-for循环, v-if也会分别执行5次.


posted @ 2022-10-14 14:44  HaoyuSun  阅读(435)  评论(0)    收藏  举报