博客
关于我
最新最全的前端面试题集锦之 Vue 篇(从基础到高级)
阅读量:84 次
发布时间:2019-02-26

本文共 682 字,大约阅读时间需要 2 分钟。

一、Vue基础面试题(附答案)

1. keep-alive 组件有什么作用?

keep-alive 是 Vue 的内置组件,主要用于缓存不活动的组件。它可以防止组件在切换时被销毁,保留组件的状态以备后用。该组件支持通过 includeexclude 属性进行组件名匹配,支持字符串或正则表达式。匹配到的组件会被缓存,而排除匹配的则不会。组件在切换时不会被销毁,分别拥有 activeddeactived 生命周期钩子,用于处理切换状态。

2. 说下 vue 生命周期钩子函数?

Vue 实例的生命周期分为三个阶段,每个阶段都有特定的生命周期钩子可用。所有钩子函数都绑定到当前实例上下文,因此不能使用箭头函数定义钩子函数。

生命周期图示:

图片描述: Vue 实例生命周期图示,展示了各个阶段的变化。

阶段一:实例创建阶段

  • beforeCreate:实例刚创建,this 变量不可用,数据和方法未初始化。
  • created:实例创建完成,数据和方法初始化,但模板未编译,无法操作 dom
  • beforeMount:编译模板生成虚拟 dom,数据未挂载到页面。
  • mounted:模板编译完成,虚拟 dom 渲染为真实 dom,数据渲染到页面。

阶段二:实例运行阶段

  • beforeUpdate:数据改变或 $forceUpdate 强制刷新时,数据更改但尚未渲染 dom
  • update:数据已更新,页面已重新渲染。

阶段三:实例销毁阶段

  • beforeDestroy:实例销毁前可用,适合清理资源。
  • destroyed:实例销毁,清除观察者、子组件和事件监听。

转载地址:http://hnak.baihongyu.com/

你可能感兴趣的文章
ssm旅游信息管理系统的设计与实现bus56(程序+开题)
查看>>
order by rand()
查看>>
SSM(Spring+SpringMvc+Mybatis)整合开发笔记
查看>>
ViewHolder的改进写法
查看>>
Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
查看>>
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
查看>>
sql查询中 查询字段数据类型 int 与 String 出现问题
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugManifest'
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>