当前位置: 首页 / 技术干货 / 正文
好程序员web前端教程分享之vue常见问题答疑

2020-02-21

好程序员 web前端教程

  好程序员web前端教程分享之vue常见问题答疑,vue是一套用于构建用户界面的渐进式JavaScript框架,也是初创项目的首选前端框架。很多企业在招聘前端工程师时都会考察其对vue的了解,接下来好程序员web前端教程小编就给大家分享常见的vue面试题答疑。

好程序员

  1、如何watch监听一个对象内部的变化?

  如果只是监听obj内的某一个属性变化,可以直接obj.key进行监听。

  watch: {

  'obj.question': function (newQuestion, oldQuestion) {

  this.answer = 'Waiting for you to stop typing...'

  this.debouncedGetAnswer()

  }

  }

  如果对整个obj深层监听

  watch: {

  obj: {

  handler: function (newQuestion, oldQuestion) {

  this.answer = 'Waiting for you to stop typing...'

  this.debouncedGetAnswer()

  },

  deep: true,

  immediate: true

  }

  }

  immediate的作用:当值第一次进行绑定的时候并不会触发watch监听,使用immediate则可以在最初绑定的时候执行。

  2、v-for循环时为什么要加key?

  vue的DOM渲染是虚拟DOM,数据发生变化时,diff算法会只比较更改的部分,如果数据项的顺序被改变,vue将不是移动DOM元素来匹配数据项的改变,而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。

  3、$nextTick有什么作用?

  有些时候在改变数据后立即要对DOM进行操作,此时获取到的DOM仍是获取到的是数据刷新前的DOM,无法满足需要,这个时候就用到了$nextTick。

  4、vue中的$set有什么用?

  向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为vue无法探测普通的新增属性 (比如 this.myObject.newProperty = 'hi')。

  5、组件间的传值方式有哪些?

  1)provide / inject

  这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。

  2)Vue.observable

  让一个对象可响应。vue内部会用它来处理 data 函数返回的对象。

  返回的对象可以直接用于渲染函数和计算属性内,并且会在发生改变时触发相应的更新。也可以作为最小化的跨组件状态存储器,用于简单的场景。

  3)$attrs

  包含了父作用域中不作为prop被识别 (且获取) 的特性绑定(class和style除外)。当一个组件没有声明任何prop时,这里会包含所有父作用域的绑定 (class和style除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。

  4)$listeners

  包含了父作用域中的 (不含.native修饰器的) v-on事件监听器。它可以通过 v-on="$listeners" 传入内部组件——在创建更高层次的组件时非常有用。

  5)props

  6)$emit

  7)eventbus

  8)vuex

  9)$parent/$children/ref

  6、vue生命周期函数有哪些?

  beforeCreate

  created

  beforeMount

  mounted

  beforeUpdate

  updated

  beforeDestroy

  Destroyed

  面试是你走向职场的敲门砖,好的面试可以让你顺利圆梦高薪。如果你想了解更多前端技能或求职技巧,可以来好程序员Web前端培训班。高端潮流课程、专业师资面授还有一体化就业保障服务,让你理论与实战兼备,快速就业拿高薪,同时好程序员还为大家准备了大量免费web前端教程供大家参考学习。

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号