首先Vue采取的是基于MVC改进版MVVM的架构思维方式。
MVVM:是将视图和业务逻辑分开。实际就是MVC的改进版,M-Model(模型),V-View(视图),C-controller(控制器)。M-Model,V-View,VM-ViewModel。其中M和V是需要程序员进行处理,而VM则由Vue进行内部处理。
MVVM图:
从而不操作DOM就能进行页面渲染
Vue的核心就是:数据驱动和声明式渲染
数据驱动:就是通过控制数据的变化来改变(驱动)DOM的变化,背后使用了观察者模式。
声明式渲染:声明的意思就是告知,广而告之, 即告知程序,在何处渲染什么数据
Vue实现数据绑定的原理:数据劫持和观察者模式。
数据劫持:使用Object.defineProperty(); 当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将 遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转 为 getter/setter。
观察者模式:也就是发布和订阅。
最近基础学习了:1:监听事件(方法) 2:事件处理方法 3:内联处理方法 4:事件修饰符 5:按键修饰符
1:监听事件(方法):在vue里使用指令 v-on 监听DOM事件,并在事件触发时运行 JavaScript 代码
2:事件处理方法:许多事件处理逻辑会更为复杂,所以直接把 JavaScript 代码写在 v-on 指令中是不可行的。 因此 v-on 还可以接收一个需要调用的方法名称。
3:内联处理方法:除了直接绑定到一个方法,也可以在内联 JavaScript 语句中调用方法,代码: https://cn.vuejs.org/v2/guide/events.html
4:事件修饰符:在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation() 是非常常见的需求。 尽管我们可以在方法中轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处 理 DOM 事件细节。为了解决这个问题,Vue.js 为 v-on 提供了事件修饰符。修饰符是由点开头的 指令后缀来表示的。 .stop 阻止单击事件继续传播 .prevent 阻止默认行为 .capture 添加事件监听器时使用事件捕获模式 .self 只当在 event.target 是当前元素自身时触发处理函数 .once 只触发一次回调。
5:按键修饰符:阻止单击事件继续传播: