当前位置: 首页 > article >正文

Vue 23进阶面试题:(第六天)

目录

21.vue-router有哪几种导航钩子?答:三种,

22.vuex是什么?怎么使用?哪种功能场景使用它?

23.vuex有哪几种属性

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


 

21.vue-router有哪几种导航钩子?
答:三种,

常用的有:

第一种:全局守卫

  • router.beforeEach(to,from,next),作用:跳转前进行判断拦截。
  • router.afterEach((to, from) => { // ... })作用:跳转后进行设置。

第二种:路由的独享守卫

比如:可以在路由配置上直接定义 beforeEnter

const router = new VueRouter({
  routes: [
    {
      path: '/foo',
      component: Foo,
      beforeEnter: (to, from, next) => {
        // ...
      }
    }
  ]
})

第三种:组件内守卫,有三种

  • beforeRouteEnter 在进入当前组件对应的路由前调用
  • beforeRouteUpdate 在当前路由改变,但是该组件被复用时调用
  • beforeRouteLeave 在离开当前组件对应的路由前调用

 

22.vuex是什么?怎么使用?哪种功能场景使用它?

 

答:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。简单来说就是:应用遇到多个组件共享状态时,使用vuex。

vuex的流程

页面通过mapAction异步提交事件到action。action通过commit把对应参数同步提交到mutation,mutation会修改state中对应的值。最后通过getter把对应值跑出去,在页面的计算属性中,通过,mapGetter来动态获取state中的值

 

场景有:单页应用中,组件之间的状态。音乐播放、登录状态、加入购物车

23.vuex有哪几种属性

有五种,分别是State , Getter , Mutation , Action , Module

1. state:vuex的基本数据,用来存储变量

2. getter:从基本数据(state)派生的数据,相当于state的计算属性

3. mutation:提交更新数据的方法,必须是同步的(如果需要异步使用action)。每个mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。

4. action:1. Action 提交的是 mutation,而不是直接变更状态。 2. Action 可以包含任意异步操作。

5. modules:模块化vuex,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。

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

 

答:vue.js是采用数据劫持结合发布者 - 订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

 


http://www.kler.cn/a/322549.html

相关文章:

  • 深入理解Go语言并发编程:从基础到实践
  • 黑马智数Day10
  • MySQL的聚簇索引和二级索引
  • 什么是JSX?
  • 主机型入侵检测系统(HIDS)——Elkeid在Centos7的保姆级安装部署教程
  • 帧中继原理与配置
  • 力扣面试150 寻找峰值 二分
  • msvcr100.dll丢失的解决方法,六种解决msvcr100.dll丢失使用技巧
  • 黄金短线交易策略:波动中的高效盈利之法
  • Python精选200Tips:176-180
  • Java中的Junit、类加载时机与机制、反射、注解及枚举
  • CMake set_property设置全局变量属性
  • 基于TSN的实时通信网络延迟评估技术
  • HDF5文件浏览软件--H5View
  • SpringCloud 2023各依赖版本选择、核心功能与组件、创建项目(注意事项、依赖)
  • 网站建设服务器租用的优点有哪些?
  • 苹果更新过时产品:三款 Mac 成“古董”,九款 Mac 彻底“停产”
  • 前端框架对比选择:如何在众多技术中找到最适合你的
  • 如何优化模型性能,探讨过拟合与欠拟合问题
  • 优数:助力更高效的边缘计算
  • 【刷题2—滑动窗口】最大连续1的个数lll、将x减到0的最小操作数
  • 傅里叶级数在机器人中的应用(动力学参数辨识)
  • ubuntu 设置静态IP
  • FileZilla Server 黑白单移除
  • 基于Spring Boot+Vue的减肥健康管理系统设计和实现【原创】(BMI算法,协同过滤算法、图形化分析)
  • 类和对象(3)