第三阶段面试题

72 阅读3分钟

vue 基础

  1. vue 内置指令有哪些? v-text:渲染字符串 v-html:绑定html结构 v-bind:绑定属性 v-on :绑定事件 v-if :条件是否加载 v-show:条件是否加载,没有else和elseif v-for :循环遍历数据,重复创建标签 :[变量名]=‘属性值’:动态属性

  2. v-if 和 v-show 的区别? 1.v-if是通过控制是否加载当前Dom节点,实现标签展示与隐藏 2.v-show是通过控制当前标签的css样式,决定展示还是隐藏 3.v-if可以有v-else/v-else-if 但是v-show没有

  3. v-if 和 v-for 能不能一起使用? 在vue2中 不能放在一起使用,因为在vue2中v-for的优先级比v-if要高   在vue3中 建议不能放在一起使用,也没有人这样去写,v-for的优先级没有v-if高

  4. v-bind 的含义是什么? 如何简写? 给标签绑定一些属性 :新属性名=“属性值”

  5. v-on 的含义是什么? 如何简写? 绑定事件 @事件

  6. v-text 和 v-html 的区别是什么? v-text是用来渲染字符串的,当前指令不认识 标签与样式 v-html能够识别到传递的标签和样式,但是要慎用

  7. 函数与计算属性需要分别写在那个选项中? 函数:methods 计算属性:computed

  8. 计算属性相较于封装一个函数来说, 有什么好处? 1.计算属性会先进行判断,只有内部的响应式数据发生变化的时候,才会执行 2.代码量少

  9. 侦听器与计算属性有什么区别? 侦听器   1.首次打开页面不会执行。除非添加配置或者监听的值发生变化   2.侦听器不需要写return   3.侦听器内可以书写异步代码   4.没有缓存   5.一个值的变化可以引起多个值的修改 计算属性   1.首次打开界面就会执行一次   2.计算属性需要写 return   3.计算属性内不能书写异步代码   4.有缓存   5.多个值的变化,可以引起一个值的修改

  10. Vue key的作用? 将响应式数据与DOM标签绑定到一起

  11. 事件绑定有哪些修饰符? .stop给当前元素添加一个阻止事件传播 .prevent 是阻止当前默认事件, 并且修饰符之间可以链式调用 .self 只有事件源是自己的时候才会触发 .catpture 将当前默认的 冒泡修改捕获的方式触发 .once 将当前事件设置为只会触发一次

  12. v-model是如何实现的? 将 变量01 绑定给 这个标签的 value 属性 并且 在这个标签的 input 事件触发的时候, 将这个 input框的 最新的value 重新赋值给 这个 变量01 这个方法也叫双向数据绑定。

  13. 生命周期中有哪些内容(那些阶段?分别有什么?) 创建阶段:创建示例前 beforeCreate              创建示例后 created              挂载示例前 beforeMount              挂载示例后 mounted 运行阶段:数据更新前 beforeUpdate              数据更新后 updated 卸载阶段:卸载前 beforeUnmount              卸载后 unmounted

  14. Vue中想要获取DOM可以通过什么方式?使用流程是什么? 模板引用

    1. 给需要获取到的标签绑定一个 ref 属性, 此时可以不加冒号
    2. 可以通过 this.$refs 这个对象, 获取到 你需要的 DOM 节点
  15. 全局注册与局部注册分别使用什么完成注册? app.computent("组件名,组件的一些配置项)局部注册:先创建一个组件 computents:{刚才创建的组件}

  16. 父组件向子组件传参的流程是什么?

    • 父组件准备一个传递给子组件的数据
    • 父组件在调用时给子组件绑定一些属性
    • 利用自组建中的props接受父组件传递来的数据
    • 在子组件中调用父组件传递来的数据
  17. 子组件如果想要修改父组件的数据应该改如何完成?

    1. 在父组件内给子组件添加一个自定义事件
    2. 子组件内通过this.$emit触发事件并传递参数
    3. 父组件在自定义事件函数内接受并修改数据