认识Vue
基本概念
- 是一套构建用户界面的渐进式的自底向上增量开发MVVM框架,Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件
特点(只要是框架都有其相似的特性,可用于面试题作为万能答案)
- 轻量级
- 上手快
- 高效率
- 简单易学
- 文档全面而整洁
Vue.js 的产生核心是为了解决如下三个问题
- 解决数据绑定问题。
- Vue.js主要的目的是为了开发大型单页面应用。
- 支持组件化,也就是可以把页面封装成为若干个组件,把组件进行拼装,这样是让页面的复用性达到最高。
Vue.js是一套构建用户界面的MVVM框架
- M:模型层,主要负责业务数据相关;
- V:视图层,顾名思义,负责视图相关,细分下来就是html+css层;
- VM:V与M沟通的桥梁,负责监听M或者V的修改,是实现MVVM双向绑定的要点;
模板语法
Vue.js 常见指令(与html标签属性类比记忆)
- v-on 语法:v-on:事件名称=“函数名称”
-
注:函数定义在 methods 配置项中
- v-bind (简写为:)
- v-show 语法:v-show:表达式(用于判断真假)相当于display 的属性值为none和block
- v-if 语法: v-if=表达式
v-show与v-if区别:v-if有更高的切换消耗(安全性高)。v-show有更高的初始化的渲染消耗(对安全性无要求选择)
- v-else
- v-for 语法:v-for="(item,index) in arr"
- v-html
- v-text 操作网页元素的纯文本内容 等价于 { {}}
- v-model (只用于表单上的数据的双向绑定) 语法:v-model=变量
双向绑定–原理数据劫持
- 数据劫持:当我们访问或设置对象的属性的时候,都会触发Object.defineProperty()函数来拦截(劫持),然后在返回(get)或设置(set)对象的属性的值。并且当数据发生改变的时候做出反应。
- 发布者-订阅者模式:其定义对象间一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。