zoukankan      html  css  js  c++  java
  • Vue面试题

    1. 什么是MVVM?

    MVVM是是Model-View-ViewModel的缩写,Model代表数据模型,定义数据操作的业务逻辑,View代表视图层,负责将数据模型渲染到页面上,ViewModel通过双向绑定把View和Model进行同步交互,不需要手动操作DOM的一种设计思想

    2. 怎么定义vue-router的动态路由?怎么获取传过来的动态参数?

    在router目录下的index.js文件中,对path属性加上/:id。 使用router对象的params.id

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

    vue框架中状态管理。在main.js引入store,注入。新建了一个目录store,…… export 。场景有:单页应用中,组件之间的状态。音乐播放、登录状态、加入购物车

    4. keep-alive的作用是什么,如何使用?

    包裹动态组件时,会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染;

    缓存: <keep-alive include=”组件名”></keep-alive>
    不缓存:<keep-alive exclude=”组件名”></keep-alive>
    

    5. v-show和v-if指令的共同点和不同点?

    v-show指令是通过修改元素的displayCSS属性让其显示或者隐藏,
    v-if指令是直接销毁和重建DOM达到让元素显示和隐藏的效果

    6. $ route和$ router的区别

    $ route是“路由信息对象”,包括path,params,hash,query,fullPath,matched,name等路由信息参数。而$router是“路由实例”对象包括了路由的跳转方法,钩子函数等

    7. Vue的生命周期

    Vue的生命周期图解

    什么是生命周期?

    vue实例从创建到销毁的过程,就是生命周期,从开始创建、初始化数据、编译模版、挂在DOm→渲染、更新→渲染、销毁等一系列过程,称之为vue的生命周期

    vue生命周期的作用是什么?

    vue的生命周期中有很多个事件钩子,让我们在控制整个vue实例的过程时更容易形成好的逻辑

    vue生命周期总共有几个阶段?

    分为8个阶段,创建前/创建后、载入前/载入后、更新前/更新后、销毁前/销毁后

    第一次页面加载会触发哪几个钩子

    会触发beforeCreate、created、beforeMount、mounted

    DOM渲染在哪个周期中就已经完成?

    DOM渲染在mounted中就已经完成了

    8. Vue组件间的参数传递

    父组件传给子组件:子组件通过props方法接受数据
    子组件传给父组件:$emit方法传递
    非父子组件间的数据传递,兄弟组件传值
    创建一个事件中心,相当于中转站,可以用来传递事件和接收事件。项目比较小时,用这个比较合适

    9. 计算属性 computed 和事件 methods 有什么区别

    我们可以将同一函数定义为一个 method 或者一个计算属性。对于最终的结果,两种方式是相同的。
    不同点:
    computed:计算属性是基于它们的依赖进行缓存的,只有在它的相关依赖发生改变时才会重新求值。
    method:只要发生重新渲染, method 调用总会执行该函数。

    10. 如何让css只在当前组件起作用

    在style标签中写入scoped即可,例如<style scoped></style>

    11. 谈谈对Vuex的理解

    Vuex:专门为vue.js应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证以一种可预测的方式发生变化
    state
    Vuex 使用单一状态树,即每个应用将仅仅包含一个store 实例,但单一状态树和模块化并不冲突。存放的数据状态,不可以直接修改里面的数据。
    mutations
    mutations定义的方法动态修改Vuex 的 store 中的状态或数据。
    getters
    类似vue的计算属性,主要用来过滤一些数据。
    action
    actions可以理解为通过将mutations里面处里数据的方法变成可异步的处理数据的方法,简单的说就是异步操作数据。view 层通过 store.dispath 来分发 action。
    在这里插入图片描述

    12. vue的双向绑定原理

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

  • 相关阅读:
    20080408 VS2003 中 Jscript 文件中文乱码问题
    20080330 single process memory on Windows and Windows virtual memory
    20080331 Corillian's product is a Component Container Name at least 3 component containers that ship now with the Windows Server Family
    20080330 the difference between an EXE and a DLL
    20080408 Javascript中的字符串替换replaceG
    20080501 修复Windows Update 自动更新
    20080331 How many processes can listen on a single TCPIP port
    20080329 What is a Windows Service and how does its lifecycle differ from a standard EXE
    20080407 Fire in the hole
    20080328 Adobe Launches Webbased Photoshop Express
  • 原文地址:https://www.cnblogs.com/huangguofeng/p/13735865.html
Copyright © 2011-2022 走看看