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: 一定要用这个函数才能到达下一个路由,如果不用就会遭到拦截。


目录
相关文章
|
1月前
vue3+Ts 二次封装ElementUI form表单
【10月更文挑战第8天】
193 59
|
23天前
|
缓存 JavaScript 搜索推荐
Vue SSR(服务端渲染)预渲染的工作原理
【10月更文挑战第23天】Vue SSR 预渲染通过一系列复杂的步骤和机制,实现了在服务器端生成静态 HTML 页面的目标。它为提升 Vue 应用的性能、SEO 效果以及用户体验提供了有力的支持。随着技术的不断发展,Vue SSR 预渲染技术也将不断完善和创新,以适应不断变化的互联网环境和用户需求。
34 9
|
25天前
|
资源调度 JavaScript 前端开发
路由管理:Vue Router的使用和配置技巧
【10月更文挑战第21天】路由管理:Vue Router的使用和配置技巧
33 3
|
2月前
|
缓存 JavaScript 前端开发
「offer来了」从基础到进阶原理,从vue2到vue3,48个知识点保姆级带你巩固vuejs知识体系
该文章全面覆盖了Vue.js从基础知识到进阶原理的48个核心知识点,包括Vue CLI项目结构、组件生命周期、响应式原理、Composition API的使用等内容,并针对Vue 2与Vue 3的不同特性进行了详细对比与讲解。
「offer来了」从基础到进阶原理,从vue2到vue3,48个知识点保姆级带你巩固vuejs知识体系
|
29天前
|
缓存 JavaScript 搜索推荐
Vue Router 导航钩子的使用场景
【10月更文挑战第13天】
13 1
|
29天前
|
JavaScript 搜索推荐 数据处理
Vue Router 导航钩子
【10月更文挑战第17天】需要注意的是,过度使用导航钩子可能会导致代码复杂度增加,因此需要合理规划和使用。此外,不同的钩子在不同的场景下具有不同的作用,需要深入理解其特点和用法,才能更好地发挥它们的价值。可以在实际项目中结合具体需求,充分利用这些导航钩子来打造更加智能、灵活的路由导航机制。
17 1
|
1月前
|
Web App开发 JavaScript 数据可视化
vue3扩展echart封装为组件库-快速复用
vue3扩展echart封装为组件库-快速复用
127 7
|
1月前
|
JavaScript UED
Vue双向数据绑定的原理
【10月更文挑战第7天】
|
25天前
|
JavaScript 前端开发 API
vue3知识点:Vue3.0中的响应式原理和 vue2.x的响应式
vue3知识点:Vue3.0中的响应式原理和 vue2.x的响应式
24 0
|
30天前
|
JavaScript 前端开发 Java
vue2知识点:Vue封装的过度与动画
vue2知识点:Vue封装的过度与动画
14 0
下一篇
无影云桌面