什么是 Vue.js?
Vue.js 是用于构建交互式的 Web 界面的库。
Vue.js 提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。
什么是 MVVM?
MVVM是Model-View-ViewModel的简写。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
MVVM优点
Vue.js 是什么
引入Vue:
<script src="https://unpkg.com/vue"></script>
声明式渲染
Vue.js 的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统:
<div id="app"> {{ message }} </div>
var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } })
Hello Vue!
我们已经生成了我们的第一个 Vue 应用!看起来这跟单单渲染一个字符串模板非常类似,但是 Vue 在背后做了大量工作。现在数据和 DOM 已经被绑定在一起,所有的元素都是响应式的。那我们如何来验证元素的响应呢?我们可以打开控制台,并修改app.message的值,我们可以看到页面相应的作出了更新!
当我将app.message的值改为"Hello World!"的时候,页面的内容也相应的修改为"Hello World!"。
或者我们也可以这样:
<div id="app"> <p>{{ message }}</p> <input v-model="message"> </div>
new Vue({ el: '#app', data: { message: 'Hello Vue!' } })
当我们修改输入框的值时,紧跟着p标签的文本也会随之改变!
这一切都是Vue.js在帮我们做操作,它将本来毫无关系的DOM和JavaScript对象关联起来,做到同步!