MVVM
基本概念:MVVM架构下,View和Model不能直接通信,利用ViewModel进行通讯。
当用户操作视图,ViewModel同时进行监听,然后通知数据进行改动。如此即可实现数据的双向绑定。
应用场景:针对具有复杂交互逻辑的前端应用,提供基础的构架抽象,可通过Ajax数据持久化,保证前端给用户一个优良体验。好处是,当前端进行数据操作时,可通过Ajax请求对后端做数据持久化。不需要改变页面,只需要改变DOM里,需要改动的那部分数据。特别是移动端应用场景,刷新页面场景的代价太昂贵,会重新加载很多资源。虽然之前会缓存了一些资源。但是页面的DOM、JS、CSS都会被浏览器重新解析一遍。因此移动端页面通常会做成SPA单页应用,在此基础上诞生了很多MVVM框架,如:Angular.js/react.js/vue.js。
Vue.js
核心思想:数据驱动 和 组件化
是一个轻量级MVVM框架,体积小。
是一个数据驱动+组件化的前端开发。
相对于Angular、React,更轻量,更易上手,学习曲线平稳。吸收两家之长,借鉴了angular的指令和react的组件化
组件设计原则
页面上,每个独立的可视/可交互的区域,均可视为一个组件。
每个组件对应一个工程目录,组件所需要的各种资源在这个目录下就近维护。
页面是组件的容器,组件可以嵌套,自由组合形成完整页面
Vue-cli
是Vue的编程脚手架,帮助编写Vue.js基础代码的工具。
它是一个Node包,需要执行npm命令进行安装。
image.png
Node.js
也叫Node,但是这个词用途过广,为了进行区分,通常采用Node.js这个名字。
它是JS的一个后端运行环境,