Vue是一套用于构建用户界面的渐进式框架,与其他框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,易于上手。
在MVVM架构中,是不允许数据和视图直接通信的,只能通过ViewModel来通信,而ViewModel就是定义了一个Observer观察者。
至此,我们就明白了,Vue.js 就是一个 MVVM 的实现者,他的核心就是实现了 DOM 监听 与 数据绑定。
我们直接导入Vue的CDN
<!-- 1.导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
Vue.js的核心是实现了MVVM模式,它扮演的角色就是ViewModel层,那么所谓的第一个程序就是展示她的数据绑定功能
demo1.html
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js">script>
<div id="app">
{{message}}
div>
<script>
var vm=new Vue({
el:"#app",
//model:数据
data:{
message:"hello,vue!"
}
});
script>
body>
html>
说明:
将数据绑定到页面元素(视图层)
<div id="app">
{{message}}
div>
只需要在绑定的元素中使用 双花括号 将 Vue 创建的名为 message 属性包裹起来,即可实现数据绑定功能,也就实现了 ViewModel 层所需的效果,类似EL表达式
测试
在控制台Console 输入vm.message=‘hello world’ 然后回车,观察会发现浏览器中的值直接跟着改变,不用刷新页面。
在这个操作中,我并没有主动操作 DOM,就让页面的内容发生了变化,这就是借助了 Vue 的 数据绑定 功能实现的;MVVM模式中要求 ViewModel 层就是使用 观察者模式 来实现数据的监听与绑定,以做到数据与视图的快速响应。