1.如何对一个响应式对象添加或者删除一个响应式属性
1)this.$set()
2)this.$delete()
2.谈谈你对vue.loader的理解
1)定义 Vue Loader 是一个 webpack 的 loader,它允许你以一种名为单文件组件 (SFCs)的格式撰写 Vue 组件
2)特点
a.允许为 Vue 组件的每个部分使用其它的 webpack loader,例如在 <style> 的部分使用 Sass 和在 <template> 的部分使用 Pug
b.允许在一个 .vue 文件中使用自定义块,并对其运用自定义的 loader 链
c.使用 webpack loader 将 <style> 和 <template> 中引用的资源当作模块依赖来处理
d.为每个组件模拟出 scoped CSS
e.在开发过程中使用热重载来保持状态
3.组件的data为什么是一个函数不是一个对象
当一个组件被定义, data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。
如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!通过提供 data 函数,每次创建一个新实例后,
我们能够调用 data 函数,从而返回初始数据的一个全新副本数据对象。类比与引用数据类型。
如果不用function return 每个组件的data都是内存的同一个地址,那一个数据改变其他也改变了,这当然就不是我们想要的。
用function return 其实就相当于申明了新的变量,相互独立,自然就不会有这样的问题
4.单页面开发和多页面开发的优缺点
单页面
1)定义:SPA,只有一个主页面,浏览器一开始就加载所有的html、css、js。在交互时用路由动态载入,页面切换只刷新局部内容,不进行跳转。
2)优点:用户体验好,前后端分离,页面效果比较炫酷(比如切换页面内容时的专场动画)
3)缺点:不利于SEO,导航不可用,如果一定要使用导航需要自己实现前进、后退,初次加载耗时多,页面复杂度提高
多页面
1)定义:MPA,一个应用中有多个页面,页面跳转时是整页刷新。
2)优点:多个页面之间跳转,用户可以清晰的了解整个网站的内容构成;页面结构的分布也不会很拥挤;实现简单,开发成本低;适用于对搜索引擎支持较高,页面跳转较少,数据传递较少的项目中开发
3)缺点:页面跳转时,要重新执行css,js等文件,页面片段之间跳转较慢,需要用到页面跨页面传值的几种方法;实现转场动画比较困难。维护成本高
5.vue使用插件的流程
1)引入vue
2)引入插件
3)使用vue.use插件