vue相关面试题2:1.封装vue组件作用;2双向数据绑定原理;3.Router 是什么;4.导航钩子有哪些

简介: 它们有以下参数。●to::即将要进入的目标路由对象。●from:当前导航正要离开的路由。●next: 一定要用这个函数才能到达下一个路由,如果不用就会遭到拦截。

文章目录

请描述封装vue组件作用过程

Vue.js 的双向数据绑定原理是什么?

vue Router 是什么?它有哪些组件?

导航钩子有哪些?它们有哪些参数?

请描述封装vue组件作用过程

纽件可以提升整个项目的开发效率,能够把页面抽象成多个相对独立的模块

解决了传统项目开发中效率低、难维护、复用性等问题

使用 Vue.extend 方法创建 一个组件,使用 Vue.component 方法注册纽件,子组件需要数据

,可以在 props 中接收数据,

而子组件修改好数据后,若想把数据传递给父组件,可以采用 emit 方法


Vue.js 的双向数据绑定原理是什么?

Vue.js 采用 ES5 提供的属性特性功能 ,结合发布者-订阅者模式通过 Object.defineProperty为各个属性定义 get set 特性方 法,在数据发生改变时给阅读者发布消息,触发相应的监听回调

具体步骤如下。

(1)对需要观察的数据对象进行递归遍历,包括子属性对象的属性,设置set和get特性方法。当给这个对象的某个值赋值时,会触发绑定的set特性方法,于是就能监听到数据变化。

(2)用compile解析模板指令,将模板中的变量替换成数据。然后初始化渲染页面视图,并将每个指令对应的节点绑定更新函数,添加监听数据的订阅者。一旦数据有变动,就会收到通知,并更新视图。

(3) Watcher订阅者是Observer和Compile之间通信的桥梁,主要功能如下。

●在自身实例化时向属性订阅器(dep) 里面添加自己。

●自身必须有一个update()方法。

●在dep.notice()发布通知时,能调用自身的update()方法,并触发Compile 中绑定的回调函数。

(4) MVVM是数据绑定的入口,整合了Observer、 Compile和Watcher三者,通过Observer来监听自己的model数据变化,通过Compile来解析编译模板指令,最终利用Watcher搭起Observer和Compile之间的通信桥梁,达到数据变化通知视图更新的效果。

利用视图交互,变化更新数据model变更的双向绑定效果。


vue Router 是什么?它有哪些组件?

它是Vue.js的路由插件。组件包括router-ink和router-view.


导航钩子有哪些?它们有哪些参数?

导航钩子又称导航守卫,又分为全局钩子、单个路由独享钩子和组件级钩子。

全局钩子有beforeEach、beforeResolve ( Vue 2.5.0新增的). afterEach,

单个路由独享钩子有beforeEnter.

组件级钩子有beforeRouteEnter. beforeRouteUpdate( Vue 2.2新增的)、beforeRouteL eave。


它们有以下参数。

●to::即将要进入的目标路由对象。

●from:当前导航正要离开的路由。

●next: 一定要用这个函数才能到达下一个路由,如果不用就会遭到拦截。


目录
相关文章
|
2月前
|
JavaScript 前端开发
【Vue面试题二十五】、你了解axios的原理吗?有看过它的源码吗?
这篇文章主要讨论了axios的使用、原理以及源码分析。 文章中首先回顾了axios的基本用法,包括发送请求、请求拦截器和响应拦截器的使用,以及如何取消请求。接着,作者实现了一个简易版的axios,包括构造函数、请求方法、拦截器的实现等。最后,文章对axios的源码进行了分析,包括目录结构、核心文件axios.js的内容,以及axios实例化过程中的配置合并、拦截器的使用等。
【Vue面试题二十五】、你了解axios的原理吗?有看过它的源码吗?
|
2月前
|
安全 Java 容器
【Java集合类面试二十七】、谈谈CopyOnWriteArrayList的原理
CopyOnWriteArrayList是一种线程安全的ArrayList,通过在写操作时复制新数组来保证线程安全,适用于读多写少的场景,但可能因内存占用和无法保证实时性而有性能问题。
|
2月前
|
JavaScript 开发者
vue学习之响应式数据绑定
响应式数据绑定
31 0
|
2月前
|
JavaScript 前端开发
【Vue面试题二十七】、你了解axios的原理吗?有看过它的源码吗?
文章讨论了Vue项目目录结构的设计原则和实践,强调了项目结构清晰的重要性,提出了包括语义一致性、单一入口/出口、就近原则、公共文件的绝对路径引用等原则,并展示了单页面和多页面Vue项目的目录结构示例。
|
19天前
|
JavaScript 开发者
Vue.js 的双向数据绑定
Vue.js 的双向数据绑定
|
1月前
|
消息中间件 Java 编译器
面试官:说说Lambda表达式底层原理?
面试官:说说Lambda表达式底层原理?
25 2
面试官:说说Lambda表达式底层原理?
|
20天前
|
ARouter 测试技术 API
Android经典面试题之组件化原理、优缺点、实现方法?
本文介绍了组件化在Android开发中的应用,详细阐述了其原理、优缺点及实现方式,包括模块化、接口编程、依赖注入、路由机制等内容,并提供了具体代码示例。
33 2
|
1月前
|
JavaScript
vue学习(4)数据绑定
vue学习(4)数据绑定
48 10
|
6天前
|
JavaScript API 数据安全/隐私保护
vue尚品汇商城项目-day05【36.导航守卫理解】
vue尚品汇商城项目-day05【36.导航守卫理解】
16 0
|
2月前
|
存储 缓存 JavaScript
【Vue面试题十八】、你知道vue中key的原理吗?说说你对它的理解
这篇文章详细介绍了Vue中的`keep-alive`组件,解释了其作用是缓存不活动的组件实例以避免重复渲染DOM,并阐述了`keep-alive`的使用场景、props属性配置、以及如何通过源码理解其缓存机制和原理。
【Vue面试题十八】、你知道vue中key的原理吗?说说你对它的理解