Vue笔记

计算属性 computer

  • computermethods的区别:
    computer 为响应式,当数据没有发生改变时直接返回该值,而 methods 每次需要执行函数内容,影响效率。

  • computerwatch 的区别:
    computed 只有当依赖的数据变化时才会计算, 当数据没有变化时, 它会读取缓存数据。watch 每次都需要执行函数,watch 更适用于数据变化时的异步操作。


丨 nextTick实现原理

定义: 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。(说明:Vue 实现响应式并不是在数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新)

执行顺序

  1. 如果支持 Promise 就用 Promise
  2. 如果不支持就用 MutationObserver,MutationObserver(它会在指定的DOM发生变化时被调用)
  3. 如果不支持 MutationObserver 的话就用 setImmediate(但是这个特性只有最新版IE和node支持,然后是最后一个条件 如果这些都不支持的话就用setTimeout)

Vue3的8种和Vue2的12种组件通信


丨 data为什么是一个函数

保证当组件实例化时能够生成一个新的内存地址


丨 自定义指令(以全局防抖举例)

  • 自定义防抖,新建debounce.js
import Vue from 'vue'

Vue.directive('debounce',{
  inserted: function (el, binding) {
    let timer
    el.addEventListener('keyup', () => {
      if (timer) {
        clearTimeout(timer)
      }
      timer = setTimeout(() => {
        binding.value()
      }, 1000)
    })
  }
})
  • main.js中引入:
import "@/utils/debounce.js"
  • 页面中使用:
<el-input v-model="xxx"  v-debounce="方法名">
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近也是在学习一些Vue的源码知识,然后将这些常见的面试题做一下记录和分享 然后我也会每天更新一些面试题,如果有回...
    Alawaysonl_c839阅读 704评论 0 0
  • 对 mvc 和 mvvm 的理解mvc 是 Model 负责数据存储,View 负责视图展示,Controller...
    翔子丶阅读 381评论 0 0
  • js事件循环 js处理异步主要有微任务(microTask)和 宏任务 (macroTask),而从开始执行一个宏...
    好奇男孩阅读 942评论 0 1
  • 关于Vue.js Vue.js是一款MVVM框架,通过响应式在修改数据的时候更新视图。Vue.js的响应式原理依赖...
    完美_c978阅读 416评论 0 1
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 11,264评论 4 129

友情链接更多精彩内容