1.什么是vue.js
是一套用于构建用户页面的渐进式框架,采用自底向上逐层应用开发,
核心理念:数据驱动视图,组件化开发。
2.框架和库的区别
框架:是一套完整的解决方案,对项目的侵入性较大,项目如果需要更换框架,则需要重新架 构整个项目。
库:提供某一个小的功能,对项目的侵入性较小,如果某个库无法完成某些需求,可以很容 易切换到其他库实现需求。
3.MVC和MVVM的区别
MVC是后端分层开发的概念。
在MVC中,V代表view视图层,作为发送数据,展示数据,C代表controller调度层,作 为响应数据,返回数据,M代表model模型层,作为处理数据,与数据库打交道。
MVVM是前端视图层的概念。
在MVVM中,V代表view视图层,作用展示数据,VM代表view-model 视图模型层, 作 用:连接视图层和模型层,承上启下的作用,M代表model模型层,作用逻辑处理。
4.vue.js的代码结构
1.引入vue.js
2.书写视图层
<div id="app">
<div>
//插值表达式:将数据渲染到页面上,做简单的运算
{{msg}}
</div>
</div>
3..创建vue实例
let vm = new Vue({
//控制区域
el : "#app" ,
//存放数据
data : {
msg:"今天学vue"
},
//存放方法
methods :{}
})
5.元素属性绑定和事件绑定
元素的属性绑定v-bind: 为了能拿到data里面的数据。简写 :
事件的绑定 v-on:事件类型 简写 @ :click=" "
6.事件修饰符
1. .stop 阻止冒泡:阻止事件继续向外传播
2. .capture 添加事件捕获 先打印捕获再进行冒泡
3. .self 只有当事件在该元素本身触发时触发回调
4..once 事件只会触发一次
5..prevent 阻止默认事件
7.数据双向绑定
双向绑定的原理:数据劫持结合发布者-订阅者模式的方式来实现的,通过 Object.defineProperty() 来接触各个属性的 setter、getter,在数据发生变动时,告诉订阅者 二是否要更新,执行第一营的更新函数从而更新视图