上手第一个Vue程序和MVVM的理解
一 快速了解
1前端框架:
Angular:
由Google后端工程师研发,带来了MVC分层模式的思想;
React:
Facebook出品,引入虚拟DOM概念;
Vue:
上述二者兼而有之。
2 MVVM:
Model View ViewModel的概念。在Model View Control的思想上再进一步,Vue聚焦在ViewModel层。
Vue是MVVM模式中VM的实现者,即View层不再和Model层绑定,而是和ViewModel层绑定,当Model层的数据发生变化,则会通过ViewModel反应到View层,反之,View层的变化也会通过ViewModel层,传递到Model层。
View层展现的不再是Model层的数据,而是ViewModel的数据,由ViewModel负责与Model层交互,这就完全解耦了View层和Model层,这个解耦是至关重要的,它是前后端分离方案实施的重要一环。
当然,作为新手,想要深入理解这些概念比较不容易,有点儿费劲。我们直接动手来写一个Vue的程序。
二 上手实践
动手写官网例子程序,可以参考:https://cn.vuejs.org/v2/guide/index.html
1 新建HTML文件
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>第1个Vue程序</title> </head> <body> </body> </html>
2 导入Vue,选择cdn方式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>第1个Vue程序</title> <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> </head> <body> </body> </html>
3 声明div
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>if-else学习</title> <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> </head> <body> <div id="app"> //这个相当于是View层 {{ message }} </div> </body> </html>
4 script里新建一个Vue实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>第一个Vue程序</title> <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js " type="text/javascript"> </script> </head> <body> <div id="app"> //这个相当于是View层 {{ message }} </div> <script type="text/javascript"> //new Vue 相当于是ViewModel层 let app = new Vue({ //element的缩写,挂载元素。 el: '#app', //data相当于是Model层。 data:{ message:"Hello Vue." } }) </script> </body> </html>
5 挂载元素
6 定义data
该两步骤中,具体可以看上述代码,挂载元素,就是el:‘#app’,定义Model层,就是data:{}。
三 小结
从这个小例子中,重点理解MVVM模式的意义:
View层:div定义这个相当于是View层;
ModelView层:let app = new Vue,其实就可以理解为ViewModel层,当然该代码的含义是创建Vue的实例。
Model层:data:{},相当于定义Model层。