说一下vue的最大特点?或者核心是什么?
vue最大的特点分为“组件化”和“数据驱动”
什么是组件化?
组件化就是将页面中可重复运用的元素看做成组件,写页面的过程就是写组件,然后页面就是有各个组件“拼接”而成的组件树。
什么是数据驱动?
数据驱动就是只关注数据层面,数据变了页面也就自动变换了,我们不需要去关注数据的dom操作,而是去交给vue去完成。
说一下vue的基本指令?
v-if,v-once,v-show,v-bind,v-on,v-pre,v-model,v-for。
都是基本指令操作就不过多解释了。
说一下vue的data为什么必须是函数?
因为组件是可复用的,但data是私有的,如果运用对象而不是函数的话,会导致影响其他组件,但运用函数会返回一个新的data对象,而在堆内存里面就是不同的空间地址。
说一下v-if和v-show的区别?
v-if和v-show都是显示隐藏的元素,但依旧有本质上的区别,v-if是惰性的,只有值为false或者true才会显示隐藏,而v-show是无论值为false或者是true都会显示隐藏html页面代码。
建议:使用频繁的运用v-show,不频繁的运用v-if。
说一下vue自定义指令如何实现的和适用场景?
vue中除了v-if和v-for都自带vue指令,但并不满足所有的开发需求,这个时候就需要自定义指令了,而自定义指令又分为,全局自定义和局部自定义。
我们开发的场景可以是后台管理大按钮操,给不同的全选进行自定义指令。
说一下vue过滤做什么的?
vue的过滤指令只要运用对渲染的数据进行格式化处理。
例如:数据性别的0,1渲染在转换成男和女。
说一下vue声明周期狗子函数有哪些,分贝什么时候触发?
vue 的生命周期就是从出生到死亡的一个完整的周期,主要包含,创建,挂在,更新,销毁。
说一下vue组件通讯有哪几种形式,分别是如何实现的?
第一种:父传子 用props
第二种:子传父 用 $emit
第三种:兄弟 用1.bus,2.vuex。
说一下vue是如何封装组件的?
1.事件v-on或者$emit
2.通过传参props
3.运用slot。
说一下vue动画如何实现的?
transition。
说一下你对单项数据流的理解?
单项数据就是vue组件中数据单向的传递,父组件往子组件传值,子组件维护,但无法更改父组件数据。
说一下vue的双向数据绑定?
vue 的双向数据绑定是通过es5来实现的主要运用getter还有setter来实现双向数据绑定。
说一下vue路由或前端路由实现原理?
前端路由是通过两种技术
1.通过h5的history API技术。
2.利用url 的hash来实现
说一下vue路由钩子的理解?
vue 的路由是用来路由拦截当前和正在跳转的信息
分为三种:
1.全局路由钩子
2.路由独享钩子
3.组件内的钩子
说一下路由懒加载解决什么问题?
vue 的路由懒加载主要解决打包后问价过大的问题,事件只有触发之后才会加载对应的js。
说一下如何解决vue的首屏白屏,加载慢的问题?
1.路由懒加载
2.开启Gzip压缩
3.使用webpack的els
4.使用vue的服务端渲染
5.使用cdn缓存
6.样式库按需加载。
说一下你们项目中的vue如何跨域的?
跨域前端和跨域后端都可以实现,vue 也可以通过代理的方式来实现
主要还是运用congif中的index.js配置proxy来实现
说一下vue的methods,computed,watch区别?
methods是封装好的函数,
computed是vue独有的特殊设计属性,与methods比较是可缓存的。
watch是监听data和计算属性的新旧变化。
vue如何动态属性添加,实现数据响应?
通过this.$set来进行动态属性添加,在修改引用数据类型进行渲染。
vue的http请求是如何管理的?
1.vue的http散落在vue的各个组件能,不方便管理,在写项目的时候统一放到一个组件内进行管理。
2.axios就是数据拦截器,用来请求http和自动拦截数据,减少代码量和请求量,方便日后项目管理。
说一下vue和jquey的区别?
jquey就是玩dom的神器,他更过是用来操作daom
而vue 很少玩dom或者操作dom更多的是运用组件。
说一下vue如何实现局部样式或者如何实现组件之间样式不冲突的实现原理是什么?
css没有局部样式,vue是通过脚手架来进行的,在style标签中加上scoped
vue脚手架是公司搭建的吗?还是用的vue的脚本架?webpack了解多少?
我们都是用的vue官网的脚本架,webpack是一个前端的模块化工具,vue本身就是用webpack进行搭建的,webpack有入口和出口,默认支持js,至于其他文件要通过loader来转换。
说一下你对vuex的理解?
vuex就是状态管理工具,主要是用来大中型复杂文件的数据共享问题,主要包含五个要素。
vuex如何实现数据持久化?
vuex中的state是存储内存数据的,一刷新就没了,但解决方案有两种。
1.利用h5的本地存储
2.利用第三方封装好的组件。
说一下nextTick的作用和适用场景?
vue的nextTick主要用来处理数据动态变化,Dom还未来的及更新的问题。
适用场景:
1.根据需要的数据动态页面的dom元素添加事件
2.某个第三方插件。
说一下v-if和v-for 的优先级?
他们处于同一个节点上,v-for的优先级比v-if更高。意味着v-if将分别重复运用在v-for里面。
vue中keep-alive组件作用?
keep-alive主要用于保留组件状态或避免重复渲染。
属性:
include:字符串或者正则表达式,只匹配组件会被缓存
exclude:字符串或者正则表达式,任何匹配的组件都不会被缓存。
用法:包裹动态组件时候,会缓存不活动的组件,而不是销毁他们。