八股文4.0

92 阅读1分钟

结合日常使用场景,谈谈你对vue生命周期的理解?

指一个vue对象从创建到渲染出来让人看到所有经历的整个过程

谈谈你对vue minxins混入的理解?日常工作中我为什么不推荐使用minxins?

混入就是在一个公共的实例中写入公共的数据或者方法,这样的话vue会自动注入到每一个组件的实例中。

vue中的组件的data为什么必须要使用函数声明?

组件是复用的,所以要保证每个组件都是单独的维护一份状态,所以要写成返回一个函数

axios和ajax有啥区别?axios常用的封装有哪些?

axios是通过promise实现对ajax的封装,就像jquery对ajax的封装一样,简单来说就是ajax实现了局部数据的刷新,axios实现了对ajax的封装 axios有的ajax都有,而ajax有的axios不一定有。

模板引擎的概念你理解不?谈谈vue模板编译的过程理解?

让开发者以更加友好的方式拼接字符串,使项目代码更加清晰,更加容易维护

理解:第一步就是获取HTML,vue有两个运行环境的版本,一个是npm的版本,一个是vuejs的版本,然后第二部就是转化成ast,ast又叫抽象语法树,所有的语言都可以转化为ast,第三步就是生成render函数,有了render函数就生成虚拟DOM,最后就生成真实DOM。