前端面试 第二天

今天去了厦门面试第二家公司,公司规模不大只有 20-99,办公楼层只有一层的一半,应该是属于刚刚起步的小公司

进去之后,先做了几道前端的题目,技术栈几乎就是Vue,感觉那句大公司重基础,小公司重实战,没有提问其他任何相关的就是纯vue的问题

第一题就是问了vue的生命周期函数这时候一般会考一题选择题来进行,主要是要区分vue生命周期中的生命周期函数的不同

beforeCreate: 实例创建之前,访问数据的值和事件都访问不到

created: 实例创建完成,完成数据观测,属性和方法的运算,初始化事件,此时$el还没有显示出来,可以访问到data,computed,methods,watch

beforeMount:在挂载之前被调用,相关的render函数首次被调用。编译模板,把data里面的数据和模板生成html,还没有挂载到Dom上,这时候无法访问页面中的值

Mounted:在el被新创建的vm.$el替换,并挂载到实例上后调用。实例挂载在Dom上,此时可以通过Dom的api获取dom节点,$el可以被访问了,通过插件操作插件的时候最早就是在这个时候  

beforeUpdate: 响应数据更新时调用,发生在虚拟dom打补丁之前 view->data

Updated:先根据data最新的数据重新在内存中渲染中一个dom树,data->view 此时页面和数据保持同步都是最新的

beforeDestroy:实例销毁之前调用,此时组件完全可用,可以通过this获取实例,其中包括的data中的方法啊 过滤器 指令都是出于可用的状态

destroyed:组件完全销毁,各种方法、指令都是属于不可用的状态

第二题就是v-if与v-show的区别:

v-if会销毁dom重新创建,是真正的条件渲染,v-show只是css样式display的切换;

第三题route与router的区别?

route是路由信息对象,包括path,params,hash,query,fullPath,matched,name等路由信息

router是路由实例对象,包含了路由的跳转方法,钩子函数等

 

posted @ 2021-02-24 21:44  小小小菜鸡  阅读(67)  评论(0)    收藏  举报