一次面试前端,关于vue相关问题总结

 

  1. v-if和v-for谁的优先级最高?
    1、v-for的优先级高于v-if 
    2、如果同时出现v-for v-if的话,无论v-if判断条件是否成立,都会执行一遍v-for循环
    3、应该把判断条件提取出来写在循环外

     
  2. vue组件data为什么必须是函数?
    简单解释,组件compent都是可以复用的,如果data不是函数,而是对象那么每次new Component();的时候data都是一样的
    详细解释可以参考:Vue组件中的data为什么必须是一个函数

     

  3. vue中的key的作用和工作原理?

    key可以管理可复用的元素,减少不必要的元素的重新渲染,也要让必要的元素能够重新渲染。
    key的作用必须结合diff算法来解释。

  4. 你怎么理解vue中的diff算法?
    Vue中的diff算法
     
  5. 谈一谈对vue设计原则的理解?
    Vue.js不是一个框架——它只聚焦视图层,是一个构建数据驱动的web界面的库。
    特性: 
          1. 轻量 体积小,不依赖其他基础库; 
          2. 数据绑定 
          3. 指令 
     
  6. 对MVC、MVVM的理解?
    MVC:模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
            model:模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
            view:视图代表模型包含的数据的可视化。
            controller:控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

    MVVM:MVVM是Model-View-ViewModel的简写, 一种新型架构框架。
             View一般就是我们平常说的HTML文本的Js模板,里面可以嵌入一些js模板的代码; 

             ViewModule层里面就是我们对于这个视图区域的一切js可视业务逻辑,举个例子,比如图片走马灯特效,比如表单按钮点击提交,这些自定义事件的注册和处理逻辑都写在ViewModule里面;Model就是对于纯数据的处理,比如增删改查,与后台CGI做交互;

            MVVM是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。
     

    特点: 
    1. View的变化会自动更新到viewModel; 
    2. viewModel的变化也会自动同步到view上显示; 
    3.这种同步是因为viewModel中的属性实现了observer(观察者); 
    4.当属性变更都能触发对应的操作;

  7. 你了解哪些vue性能优化方法?

    vuejs项目性能优化总结
    ​​​​​​​
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值