1.vue常用的组件通信有哪些?
主要有三种:父传子、子传父、兄弟间通信
父传子:主要通过props来实现,父组件通过import引入子组件并注册,在子组件标签上添加要传递的属性,子组件通过props接收,接收有两种形式:一是通过数组形式,二是通过对象形式。对象形式可以设置要传递的数据类型和默认值,而数组只是简单的接收。
子传父:主要通过$emit来实现,子组件通过绑定事件触发函数,在其设置this.$emit('要派发的自定义事件',要传递的值)。
兄弟间传值:①通过event bus 实现,创建一个空的vue并暴露出去,这个作为公共的bus,即当作两个组件的桥梁,在两个兄弟组件中分别引入刚才创建的bus,在组件A中通过bus.$emit()发送数据,在组件B中通过bus.$on()接收数据②通过vuex实现
2.ES6的新特性有哪些?
let const、class类、箭头函数、import export模块化开发、解构赋值、模板字符串
3.CSS3新特性有哪些?
border-color,border-radius,border-shadow,text-shadow,background-size
4.$nextTick的理解
就是放在$nextTick当中的操作不会立即执行,而是等待数据更新、DOM更新完成之后再执行。Vue实现响应式并不是在数据改变后就立即更新DOM,而是在一次事件循环的所有数据变化后再异步执行DOM更新。
5.route和router的区别
this.route:当前激活的路由的信息对象,每个对象都是局部的,可以获取当前路由的path,name,params,query等属性。
this.router:全局的router实例,通过vue根实例中注入rouetr实例,然后再注入到每个子组件,让整个应用都有路由功能,其中包含了很多属性和对象,任何页面也都可以调用其push、replace、go方法。
6.relative fixed absolute的区别
relative相对定位,相对于自己的文档流的位置定位,不会脱离文档流
absolute绝对定位,会脱离文档流
fiixed固定定位,相对于window位置定位,会脱离文档流
7.vue中methods computed watch的区别
methods中都是封装好的函数,无论是否有变化,只要触发就会执行
computed是vue独有的特性计算属性,可以对data中的依赖项再重新计算,得到一个新值应用到视图中,和methods的区别在于可缓存,即依赖项没有变化,值就不会重新计算。
watch是监听data和计算属性中的新旧变化。
8.正向代理的理解
是一个位于客户端和目标服务器之间的代理服务器,为了从目标服务器获取内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。比如访问外网,这样的好处在于突破访问限制,隐藏客户端真实ID。
9.vuex如何实现数据持久化(刷新后数据仍在)
①利用H5的本地存储(localStorage,sessionStorage)
②利用第三方封装好的插件,如vue-persistedstate
10.移动端如何解决适配问题
前端做适配没有最好的方法,只要合适的方法。目前前端主要做适配的方法有:百分比、em/rem、媒体查询、flex布局等,对于页面的布局我主要是通过rem做的。