前端知识 Vue(一)

127 阅读1分钟

一、说说你对Vue的理解

Vue是用于创建用户界面的开源JavaScript框架,也是一个创建单页应用的Web应用框架。Vue可以组件化,组件化就是把图形、非图形的各种逻辑抽象为一个统一的组件。

组件化的优势:
  • 降低整个系统的耦合度
  • 方便调试,出现问题可以快速定位。
  • 提高可维护性 同时,Vue的所有界面事件是操作数据,所有界面的变动,都是根据数据自动绑定出来的,而不是直接操作DOM。

二、 v-show和v-if有什么区别?使用场景分别是什么?

相同点:v-show 和 v-if 都是控制dom元素在页面是否显示。
不同点:

  • v-show 是控制属性 display 来控制元素在页面是否显示,占据文档位置。
    • false变为true的时候不会触发组件的生命周期
  • v-if 是通过增加或删除dom节点来说控制元素的是否显示,不占据文档位置。
    • false变为true的时候,触发组件的beforeCreatecreatebeforeMountmounted钩子,由true变为false的时候触发组件的beforeDestorydestoryed方法 如果需要频繁地切换,使用v-show,提高系统的性能。

三、为什么v-if 和 v-for不建议一起用

v-for 的优先级高于v-if,放在一起使用,先进行v-for判断,会带来性能方面的浪费(会先循环再进行条件判断)。如何避免,可以在外层嵌套template进行v-if判断,然后在内部进行v-for循环。如果条件出现在循环内部,可以通过计算属性computed提前过滤不需要显示的项目。