关于html:前端那些事九VUE

33次阅读

共计 1200 个字符,预计需要花费 3 分钟才能阅读完成。

https://appf96umjwe7950.pc.xiaoe-tech.com/detail/p_603eeeb8e4b087d11d4e47bc/6

  1. 谈谈你对 MVVM 的了解?

MVVM 模式的作用:解决分层。

MVC:晚期作用在后端,后端解决模板和数据再返回给浏览器,浏览器进行渲染。

model view controller

controller:解决业务逻辑(路由)

model:数据

view:渲染视图

MVP:

益处:暗藏 controller,应用 mvvm 简化了数据到视图绑定的过程,能够主动监听变动

mvvm 是模拟 mvc 模式在前端进行分层,手动获取数据操作视图,因为 controller 负载臃肿,更难保护,将数据主动映射到视图上,不须要通过 controller 解决。

解决了 controller 臃肿问题。

  1. 请说一下 Vue2 及 Vue3 响应式数据的了解

vue2 应用 Object.defineProperty 把属性都劫持,从新定义,只能劫持曾经存在的属性,

=> 数组:

对于多层对象,须要递归并且从新定义,所以性能差,

vue2 的问题 : 属性必须在对象里能力劫持

递归

vue3 不必重写 get 和 set 在取值的时候判断是不是对象,是对象再代理

懒代理 默认不代理 只有取值的时候代理

vue3 data 里是数据 心愿哪些是响应式的 能够用对应 api

响应式数据:数据变了告诉我。

双向数据绑定

  1. Vue 中如何检测数组变动

更改数组自身

能扭转数组,然而监控不到数组长度

函数劫持

  1. Vue 中如何进行依赖收集?

  1. 如何了解 Vue 中模板编译原理

  1. Vue 生命周期钩子是如何实现的

都是回调函数

把他放在一个数组里

合成整个数组 顺次执行

  1. Vue 的生命周期办法有哪些?个别在哪一步发送申请及起因

  2. Vue.mixin 的应用场景和原理

vuex vue-router

  1. Vue 组件 data 为什么必须是个函数?

唯一性 保障组件之间的数据不受影响

  1. nextTick 在哪里应用?原理是?

保障在更新结束后再获取内容,更新的策略是异步的

自身不代表异步,是异步的 然而是将内容保护到一个数组里,最终依照程序执行,第一次会开启一个异步工作,后续更新是往数组里放,并不是又开启一个异步工作

为什么采纳异步更新,心愿都改完之后 执行

原理 promise => settimeout

  1. computed 和 watch 区别

底层实现都靠 watcher,性能项不一样

computed 次要做缓存的,一个属性依赖的数据没有变,他就不会从新计算

watch 是数据变了就执行回调

计算属性多了缓存,computed 只有取值的时候才执行

initComputed,计算属性理论是个办法,外围 object.defineProperty get 函数 自身是属性,写成一个函数

计算属性 watcher 加了懒加载属性 lazy:true,默认第一次不执行

initWatch

vue 里有三种 watcher : 渲染 watcher 计算属性 watcher (lazy:true) 用户 watcher

正文完
 0