1.库与框架的区别是什么?
1,库用三个字概括就是小而巧,只提供了特定的API,可以很方便地从一个库切换到另外一个库,而代码无需做很很大的修改;
2,框架用三个字概括就是大而全,框架提供了一整套的解决方案,故在某个项目中间想从一个框架转到另一个框架,代码需要做很大的改动。
2.Vue.js 的核心特性有哪些?
1,数据驱动视图
- 数据变化会自动更新到对应元素中,无需手动操作DOM
- 对于输入框等可输入的元素,可设置双向数据绑定
- Vue.js的数据驱动视图,是基于M-V-VM模型实现
- MVVM 是一种软件开发思想
- Model: 代表数据
- View : 代表视图模板
- ViewModel: 代表业务逻辑处理的代码
2,组件化开发
3.什么是数据驱动视图?
数据变化会自动更新到对应元素中,无需手动操作DOM
- 对于输入框等可输入的元素,可设置双向数据绑定
- Vue.js的数据驱动视图,是基于M-V-VM模型实现
- MVVM 是一种软件开发思想
- Model: 代表数据
- View : 代表视图模板
- ViewModel: 代表业务逻辑处理的代码
4.MVVM 模型各部分含义是什么,在 Vue.js 中分别对应哪些功能?
- MVVM 是一种软件开发思想
- Model: 代表数据 ,数据层,后端传递数据。
- View : 代表视图模板 将数据模型转化展现出来。
- ViewModel: 代表业务逻辑处理的代码,是连接model与view的一个桥梁。
5.el 选项的作用是什么,可以设置哪几种值?
用于选取一个DOM元素作为Vue实例的挂载目标。 id选择器,class选择器和DOM元素。
6.设置在 data 中的数据有什么特点?
用于储存vue实例需要使用的数据,响应式数据(当数据发生变化的时候,视图中的数据会自动发生变化)。
7.Vue.set() 可以解决什么问题?
做了一个修改,但是在点击保存时,修改的值没有渲染到页面上,可以值已经被修改。
这时需要使用this.$set()方法来修改值,因为此方法修改值后,会重新渲染页面
8.插值表达式内有哪些书写要求?
模板中可以通过插值表达式为元素进行动态内容设置,其中不能在内容以外进行设置,并且在内容部分不能输入语句。
9.methods 的作用是什么?
给vue定义方法。
10.谈谈你对指令的理解。
vue指令就是HTML自定义的属性,通过指令控制视图效果,指令以v- 形式开头。
11.常用的内容处理指令有哪些?
v-once 该指令使用元素内部的插值表达式,只能生效一次;
v-text 该指令可以将元素内容整体替换为指定的纯文本数据;
v-html 该指令将元素内容整体替换为指定的HTML文本。
12.常用的属性绑定操作有哪些?
v-bind用于动态绑定HTML属性,可以与class 和style属性共同绑定使用。
13.v-for 指令的注意点?
v-for是属于渲染指令,遍历数据渲染结构,常对数组和对象均可使用。
14.v-if 与 v-show 的区别?
v-if 和 v-show都属于渲染指令。
v-if 可以根据条件控制元素的创建与移除,该指令的值为布尔值,若为false,则不会创建,反之,会被创建。
v-show 用于控制元素的显示与隐藏,适用显示与隐藏,当频繁切换时,使用v-show指令。
其指令若为true,则元素就会显示,反之会被隐藏。
15.如何绑定事件?
事件函数调用函数,事件函数参数传递,事件修饰符方法,按键修饰符以及自定义按键修饰符。
16.谈谈你对双向数据绑定的理解?
我们使用v-model=‘msg’ ,msg定义在数据属性data中,以此来实现双向数据绑定。
在vue中,我们使用数据驱动视图,即data=>view,但使用v-model后,视图层更新后的msg可以再传给data,
即view=>data,这个时候更新后的data又能驱动其它视图,即data=>view_other。
总的来说,数据流的走向是data=>view=>data=>view_other。可见数据的走向是双向的,
因此v-model实现了双向数据绑定的功能。需要特别注意的是,v-model只能在包含value属性的标签中使用。
17.如何设置自定义指令?
自定义指令可以分为自定义局部指令和自定义全局指令。
指令是通过module.directive API来注册的。module.directive接受的是一个规范化的名字和工厂函数,
这个工厂函数返回一个包含不同配置的对象,这个对象用来告诉$compile服务如何进行下一步处理。
18.过滤器通常用来做什么?
过滤器常常用于进行文本内容格式的处理,可以在插值表达式和v-bind中使用。
19.methods 与 computed 有哪些区别?
computed是属性调用,而methods是函数调用。
computed带有缓存功能,而methods没有。
computed其实是既可以当做属性访问也可以当做方法访问。
computed的由来有一个重要原因,就是防止文本插值中逻辑过重,导致不易维护。
20.如何设置侦听器?
只需要在 vm 对象上挂载 watch 属性,然后监听 data 中的数据即可。