美文网首页面试前的准备
面试前的总结-vue篇

面试前的总结-vue篇

作者: 明眸yh | 来源:发表于2018-12-18 21:22 被阅读0次

总结一些vue的面试题吧,为了年后的面试作准备。

vue指令

v-for //为什么要写key 因为vue组件高度复用增加Key可以标识组件的唯一性,为了更好地区别各个组件 key的作用主要是为了高效的更新虚拟DOM

v-if // dom的显示与隐藏

v-show // 通过改变样式来达到显示和隐藏效果

v-modle // 双向绑定

v-html // 能够读取html标签

v-on // 事件

v-text // 读取文本不能读取html标签

v-bind // 动态绑定

vue的生命周期

beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed

computed 和watch的区别

  • 计算属性(computed)

对于任何复杂逻辑,你都应当使用计算属性。计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。

  • 侦听器(watch)

Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。

官方文档很清晰地表达了,watch是在执行一些复杂的操作时候使用的。更直观的例子,我们可以看下官方对computed和watch的对比:
以下代码是针对fullname这个属性的监听:

<div id="demo">{{ fullName }}</div>

var vm = new Vue({
  el: '#demo',
  data: {
    firstName: 'Foo',
    lastName: 'Bar',
    fullName: 'Foo Bar'
  },
  watch: {
    firstName: function (val) {
      this.fullName = val + ' ' + this.lastName
    },
    lastName: function (val) {
      this.fullName = this.firstName + ' ' + val
    }
  }
})

var vm = new Vue({
  el: '#demo',
  data: {
    firstName: 'Foo',
    lastName: 'Bar'
  },
  computed: {
    fullName: function () {
      return this.firstName + ' ' + this.lastName
    }
  }
})

可以明显的看出,在执行简单的计算操作时,computed比watch更简洁易读。
总结:
1.如果一个数据依赖于其他数据的简易计算处理的,那么使用computed比较合适。
2.如果需要在某个数据变化时做一些事情,使用watch来观察这个数据变化

vue的组件之间的传参

props、emit父子组件间传参的主要方式
父组件传入属性,子组件通过props接收,就可以在内部this.XXX的方式使用
子组件$emit(事件名,传递的参数)向外弹出一个自定义事件, 在父组件中的属性监听事件,同时也能获取子组件传出来的参数

//  父组件
<hello-world msg="hello world!" @confirm="handleConfirm"><hello-world>
//  子组件
 props: {
    msg: {
      type: String,
      default: ''
    }
  },
  methods:{
      handleEmitParent(){
          this.$emit('confirm', list)
      }
  }

vue响应式原理

通过Object.defineProperty去劫持data里的属性,将data全部属性替换成gettersetter,配合发布者和订阅者模式,每一个组件都有一个watcher实例,当我们对data属性赋值和改变,就会触发settersetter会通知watcher,从而使它关联的组件进行重新渲染。
主要记录vue相关面试题,详细解答请参考其他文档。

相关文章

  • 面试前的总结-vue篇

    总结一些vue的面试题吧,为了年后的面试作准备。 vue指令 vue的生命周期 computed 和watch的区...

  • Vue + ElementUI 后台管理系统项目心得(二)

    此篇是关于 Vue 的总结。Js 的总结请见前一篇:Vue + ElementUI 后台管理系统项目心得(一) 话...

  • 面试必备干货-css篇

    总结一下我上一次去面试的时候面试官问的几个关于css的相关问题。下一篇,我会总结下问的js以及vue相关的面试问题...

  • Vue 面试题总结及答案

    最近一段时间在总结学习内容,要准备面试,下面有我最近弄得 Vue 面试题及答案,会持续更新Vue 面试题总结

  • 我的面试经

    年前的前端面试总结 本人最近在找工作,对最近遇到的面试题目做一下总结 vue 双向绑定 vue2 vue3 这里分...

  • 98道经典Vue面试题总结

    98道经典Vue面试题总结 本文档基于vue-cli技术栈总结了 vue-cli工程 vue.js核心知识 vue...

  • vue中8种组件通信方式, 值得收藏!

    之前写了一篇关于vue面试总结的文章, 有不少网友提出组件之间通信方式还有很多, 这篇文章便是专门总结组件之间通信...

  • vue面试相关

    javascript面试总结 谈谈你对MVVM开发模式的理解 Vue 有哪些指令? 简述Vue的响应式原理 Vue...

  • 原生JS---经典面试题总结---doing

    总结的很全面:前端知识图谱 小昭聊前端--经典面试题总结 vue双向绑定原理分析 vue 3.0新特性 2019 ...

  • vue基于d2-admin的RBAC权限管理解决方案2019-0

    前两篇关于vue权限路由文章的填坑,说了一堆理论,是时候操作一波了。 vue权限路由实现方式总结 vue权限路由实...

网友评论

    本文标题:面试前的总结-vue篇

    本文链接:https://www.haomeiwen.com/subject/kpickqtx.html