【你问我答】详细描述Vue的双向数据绑定原理

问题描述:

详细描述Vue的双向数据绑定原理

回答有奖:

选取一位认真回答问题的牛友,赠送200牛币!
▶回答尽量有自己的思考,不要单纯的只是复制粘贴定理定义,或者他人blog哦~

你问我答问题汇总:点击进入
关注你问我答栏目:点击关注

你问我答 - 答问题,成大佬,拿牛币!
你问我答是牛客新栏目,每周1期几个面试中真实遇到的问题,
牛友在问题贴下留下自己的知识,经验与见解,
帮助更多牛友了解更多技术相关知识!

#悬赏##面试题目#
全部评论
Vue.采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter和getter,数据变动时发布消息给订阅者,触发相应函数的回调。 要实现mvvm的双向绑定,需要实现如下几点: 1.实现一个数据***Observer,能够对对象的所有属性进行监听,发生变化时拿到最新值通知订阅者 2.实现一个解析器Compile,对每个子元素节点的指令进行扫描和解析,根据模板指令替换数据,初始化视图以及绑定相应的回调函数; 3.实现一个Watcher,作为Observer和Compile的桥梁,能够订阅属性变动的通知,执行指令绑定的回调函数,更新视图 4.mvvm的入口,整合以上三者
点赞 回复
分享
发布于 2020-03-12 12:23

相关推荐

今天两个小公司面试先开帖👨🏻‍💻 3.26🕒 面试1/10.00 13min/预计20min1.😎就问了项目(小程序相关)2.防抖和节流反问技术栈:现在这个vue2,下一个vue3🤔 笔试感受怎么感觉好水,但本土实习很不错啊,通勤70min我也忍了,问了下到岗时间,还很平易近人的跟我说希望尽快到岗,但你有学业压力的话还是可以放宽的,我天哪,好温柔😭🕒 面试2/16.00  /预计30min可恶被鸽了,改到晚上七点了感觉要被拷打 准备直接开摆🕒 面试3/17.00短短二十分钟问了这么多题### CSS1. display属性值2. div居中布局(主轴和侧轴的属性)3. div隐藏属性(多几个)4. 相对布局和绝对布局的理解5. position6. CSS长度单位7. box-sizing### JS1. 数据类型2. 数组常用的方法3. 数组增加一个自定义的方法4. 原型链的理解5. var和let、const的区别6. ES6新增加的特性### Vue1. Vue2初始化在那个生命周期加载2. v-if和v-show3. v-model实现双向绑定的原理4. 组件多层嵌套如何通信5. Vue渲染一个列表的key值的作用6. 对其他框架有了解吗7. 举例说说实现的Vue封装的复杂的组件8. 页面加载比较慢,考虑什么方式进行优化### 其他1. 遇到问题怎么办2. 怎么学的前端3. 最近在学啥4. 项目为啥做电商平台5. 那些方面体现了对前端的热爱6. 最近看到的比较热门的开源项目### 反问1. 技术栈2. 到岗时间3. 有双休吗
点赞 评论 收藏
转发
面试体验非常nice,聊得很愉快,时长47分钟,简单复盘。1.简单介绍一下两个项目2.地图功能介绍一下3.有什么技术难点4.第二个项目用到websocket,简单介绍一下功能5.这个场景为什么用websocket?对于长连接还有什么别的了解的方案吗6.流程编辑是怎么实现的7.导出的xml文件后台怎么执行8.Vue的diff算法原理,vue2和vue39.你觉得用框架的好处是什么,解决了什么问题,如果用原生的话会有什么问题10.你觉得Vuex的好处是什么,不好的地方在哪11.url输入到渲染全过程12.获取数据之后渲染的全流程13.针对上面的流程有什么性能优化方案14.导致白屏时间长的问题有哪些?怎么解决15.性能优化有哪些指标16.想象一下如果不用开发者工具或者浏览器自带的api如何实现这些指标的获取(不太会)17.这些指标如何获取大量的统计数据而不是单个设备呢(不太会)18.平时还有没有关注过哪些前端技术,最近在学什么19.你觉得一个好的前端工程师有什么特点?前端相比其他技术岗位特别的地方在哪20.平时有没有关注过用户体验方面,项目中有没有关注21.未来有没有更倾向于做前端的哪一块?大概是这样。面试过程中还跟面试官交流了很多自己的想法,比如问了一下面试官是不是一般小程序或者移动端的性能优化关注比较多,面试官也说能够保持强烈的好奇心是很好的,总体感觉非常愉悦。#前端##饿了么##阿里##暑期实习##我的实习求职记录##面经#
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务