vue面试

2020-11-17  本文已影响0人  Deer青春

1、vue优点

答:vue轻量级框架,只关注视图层,易于理解学习;双向数据绑定,数据操作方面简单;

    组件化操作,保留 react 的优点,实现了 html 的封装和重用;

    采用虚拟 DOM 操作,dom 操作非常耗性能,不使用原生的 dom 操作节点,运行速度更快,相比 react 就性能,vue 优势很大


2、vue 父组件传递数据

答:通过 props ;


3、子组件向父组件传递事件

答:$emit("事件",值) 方法触发;


4、兄弟组件之间传值

答:组件 A 通过 $emit("事件","值") 传递;

    组件 B 通过 this.$on("事件","message" =>{do somsing});

    这样 A 组件就可以将数据传递给 B 兄弟组件


5、v-show 和 v-if 指令不同点和相同点

答:相同点是都可以控制元素的隐藏和显示

    不同点是本质方法不同,v-show 是通过控制 css 中的 display 设置为 none 控制隐藏,只会编译一次;

    v-if 是动态想DOM 树中添加元素或者删除 DOM 元素,若初始值是 false ,就不会编译,且v-if 经常创建和销毁比较消耗性能;

    建议:频繁切换某个节点,建议使用 v-show ,初始化渲染某节点建议使用 v-if ;

6、css 样式只在当前组件中起作用


答: 在样式<style> 标签中增加 scoped 例<style scoped></style>;

7、获取 dom 


答:组件的 属性 ref="DOM"  domName = this.$refs.DOM ;

8、vue 中常用的指令


答:v-model 双向绑定数据;                                                                                                                                        

        v-for 循环;     

        v-if 、v-show 隐藏于显示;  

        v-on 绑定事件;  

        v-onve 只绑定一次;

9、标签中 key 的作用


答:vue 中需要 key 来给每个节点做唯一标识, diff 算法就可以正确识别此节点,主要为了高效更新虚拟 dom ;

10、axios


答:后台资源请求模块;npm install axios --save 模块安装;                                                      

    通过 import axios from 'axios' 引入;                          

    export const getRole = (params) =>{ axios.get('/api/addRole',{params})                                                                                                                                     .then(res =>{ console.log('成功:',res)})                                                                                                                                                                         .catch(e =>{console.log("败:",e)})}


11、vue 生命周期

答:1、beforeCreate 和 created 

上一篇下一篇

猜你喜欢

热点阅读