1. Vue的最大优势是什么?
Vue 作为一款轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟 DOM、运行速度快,并且作者是中国人尤雨溪,对应的 API 文档对国内开发者优化,作为前端开 发人员的首选入门框架
Vue 的优势:
1、Vue.js 可以进行组件化开发,使代码编写量大大减少,读者更加易于理解。
2、Vue.js 最突出的优势在于可以对数据进行双向绑定。
3、使用 Vue.js 编写出来的界面效果本身就是响应式的,这使网页在各种设备上都能 显示出非常好看的效果。
4、相比传统的页面通过超链接实现页面的切换和跳转,Vue 使用路由不会刷新页面。
5、vue 是单页面应用,使页面局部刷新,不用每次跳转页面都要请求所有数据和 dom, 这样大大加快了访问速度和提升用户体验。
6、而且他的第三方 UI 组件库使用起来节省很多开发时间,从而提升开发效率
2. Vue和jQuery区别是什么?
jQuery 介绍:
jQuery 曾经也是现在依然最流行的 web 前端 js 库,可是现在无论是国内还是国外他的使用 率正在渐渐被其他的 js 库所代替,随着浏览器厂商对 HTML5 规范统一遵循以及 ECMA6 在浏览器 端的实现,jQuery 的使用率将会越来越低
vue 介绍:
vue 是一个兴起的前端 js 库,是一个精简的 MVVM。从技术角度讲,Vue.js 专注于 MVVM 模 型的 ViewModel 层。它通过双向数据绑定把 View 层和 Model 层连接了起来,通过对数据的 操作就可以完成对页面视图的渲染。当然还有很多其他的 mvmm 框架如 Angular,react 都是大同 小异,本质上都是基于 MVVM 的理念,然而 vue 以他独特的优势简单,快速,组合,紧凑,强 大而迅速崛起
vue 和 jQuery 区别:
1) vue 和 jQuery 对比 jQuery 是使用选择器()选取 DOM 对象,对其进行赋值、取值、 事件绑定等操作,其实和原生的 HTML 的区
别只在于可以更方便的选取和操作 DOM 对象,而数据和界面是在一起的
**2)**比如需要获取 label 标签的内容:选取 DOM 对象,对其进行赋值、取值、事件绑 定等操作,其实和原生的 HTML 的区别只在于可以更方便的选取和操作 DOM 对象,而数据和界 面是在一起的
**3)**比如需要获取 label 标签的内容:(“lable”).val();,它还是依赖 DOM 元素的值。 Vue 则是通过 Vue 对象将数据和 View 完全分离开来了.
4) 对数据进行操作不再需要引用相应的 DOM 对象,可以说数据和 View 是分离的, 他们通过 Vue 对象这个 vm 实现相互的绑定,这就是传说中的 MVVM
3. MVVM和MVC区别是什么?
基本定义
1.1)MVVM 基本定义
MVVM 即 Model-View-ViewModel 的简写,即模型-视图-视图模型,模型(Model)指 的是后端传递的数据,视图(View)指的是所看到的页面,视图模型(ViewModel)是 mvvm 模式的核 心,它是连接 view 和 model 的桥梁。
它有两个方向:
1.1.1)一是将模型(Model)转化成视图(View),即将后端传递的数据转化成所看到的 页面,实现的方式是:数据绑定,
1.1.2)二是将视图(View)转化成模型(Model),即将所看到的页面转化成后端的数据。 实现的方式是:DOM 事件监听,这两个方向都实现的,我们称之为数据的双向绑定
1.2)MVC 基本定义
MVC 是 Model-View- Controller 的简写。即模型-视图-控制器。M 和 V 指的意思和 MVVM 中的 M 和 V 意思一样。C 即 Controller 指的是页面业务逻辑,使用 MVC 的目的就是将 M 和 V 的代码分离。MVC 是单向通信。也就是 View 跟 Model,必须通过 Controller 来承上启下 .
使用场景
主要就是 MVC 中 Controller 演变成 MVVM 中的 viewModel,MVVM 主要解决了 MVC 中 大量的 DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验,vue 数据驱动,通过数 据来显示视图层而不是节点操作, 场景:数据操作比较多的场景,需要大量操作 DOM 元素时, 采用 MVVM 的开发方式,会更加便捷,让开发者更多的精力放在数据的变化上,解放繁琐的操 作 DOM 元素
两者之间的区别
MVC 和 MVVM 其实区别并不大,都是一种设计思想,MVC 和 MVVM 的区别并不是 VM 完全取代了 C,只是在 MVC 的基础上增加了一层 VM,只不过是弱化了 C 的概念,ViewModel 存在目的在于抽离 Controller 中展示的业务逻辑,而不是替代 Controller,其它视图操作业务等还 是应该放在 Controller 中实现,也就是说 MVVM 实现的是业务逻辑组件的重用,使开发更高效, 结构更清晰,增加代码的复用性
4. Vue常用修饰符有哪些?
.prevent: 提交事件不再重载页面,阻止默认行为;
.stop: 阻止单击事件冒泡;
.once: 只执行一次这个事件
5. Vue2.x兼容IE哪个版本以上?
不支持ie8及以下,部分兼容ie9 ,完全兼容10以上, 因为Vue的响应式原理是基于es5的Object.defineProperty(),而这个方法不支持ie8及以下。
6. 对Vue渐进式的理解
渐进式代表的含义是:主张最少, 自底向上, 增量开发, 组件集合, 便于复用
7. v-show和v-if的区别
v-show和v-if的区别? 分别说明其使用场景?
v-show 和v-if都是true的时候显示,false的时候隐藏
但是:false的情况下,
v-show是采用的display:none
v-if采用惰性加载
如果需要频繁切换显示隐藏需要使用v-show
8. 说出至少4个Vue指令及作用
v-for 根据数组的个数, 循环数组元素的同时还生成所在的标签
v-show 显示内容
v-if 显示与隐藏
v-else 必须和v-if连用 不能单独使用 否则报错
v-bind 动态绑定 作用: 及时对页面的数据进行更改, 可以简写成:分号
v-on 给标签绑定函数,可以缩写为@,例如绑定一个点击函数 函数必须写在methods里面
v-text 解析文本
v-html 解析html标签
9. 为什么避免v-for和v-if在一起使用
Vue 处理指令时,v-for 比 v-if 具有更高的优先级, 虽然用起来也没报错好使, 但是性能不高, 如果你有5个元素被v-for循环, v-if也会分别执行5次.