| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 2021-07-27 -> 正文阅读 |
|
[JavaScript知识库]2021-07-27 |
MVVM双向数据绑定原理? || Vue底层原理 面试回答思路: 基础和核心 Object.defineProperty()作用?实现数据页面响应式+代码如何实现?+es5/vue2.x缺点+vue3.0/es6/Proxy替换? 主要靠内部来实现:如图框框名字+依次说出每个是干嘛的+他们之间的关系
2张图简单要记得 例子: new Vue()实例,data(){}有数据并应用在了dom上,computed:{return a*b}也应用在了vue模版上, 很常见:脑海中必须反应出的知识点#: 思路1: 监听数据变化->watcher->共3种、并判断出有哪几种(render watcher和computed watcher)->管理watcher->任务队列queenWatcher->func queueWatcher(){}?-->特点:重复的 watcher 知会被压入一次;在一个事件循环中 触发了多次的 watcher 只会被压入队列一次;—【内部真正参与者】 思路2:? 监听数据变化->Object.defineProperty() —是【基础核心】MVVM/vue原理 为啥要挂在原型上? Dep.prototype.notify = function notify () {} Watcher.prototype.update = function update () {}、 Vue2.x: Object.defineProperty() Vue3.x: 被Polify替换 $nextTick、$nextTick 接口 是干嘛的?通过 nextTick 放入 callbacks 如何理解?Vue 中就是?flushSchedulerQueue? flushSchedulerQueue: 将队列中所有的 watcher 按照 id 进行排序、原因是?---要保证 watcher 按照正确的顺序执行(参照初始/原本的依赖关系) 之后再遍历队列依次执行其中的 watcher nextTick:xx->改成异步执行、目的:在一个事件循环(clickHandler)中让 flushSchedulerQueue 只执行一次,避免多次执行遍历、渲染,耗费性能 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/28 11:47:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |