不积跬步,无以至千里;不积小流,无以成江海。
Vuejs语言基础
MVVM是Model-View-ViewModel的缩写:
View层:
√ 视图层
√ 前端开发中,通常就是DOM层。
√主要作用是给用户展示各种信息。
Model层:
√ 数据层
√ 数据可以是我们固定的死数据,更多的是来自
我们服务器,从网络上请求下来的数据。
√ 在我们上一章计数器案例中,就是后面抽取出来的obj。
VueModel层:
√ 视图模型层
√ View和Model沟通的桥梁。
√ 一方面它实现了Data Binding(数据绑定),将Model的改变实时的反应到View中。
√ 另一方面它实现了DOM Listener(DOM监听),当DOM发生一些事件(点击、滚动、touch等)时,可以监听到,并在需要的情况下改变对应的Data。
计数器的MVVM:
√ View是我们的DOM
√ Model就是我们抽离出来的obj
√ ViewModel就是创建的Vue对象实例
工作原理:
√ 首先ViewModel通过Data Binding让obj中的数据实时的在DOM中显示。
√ 其次ViewModel通过DOM Listener来监听DOM事件,并且通过methods中的操作,来改变obj中的数据。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<h2>当前计数: {{counter}}</h2>
<button @click="add">+</button>
<button @click="sub">-</button>
</div>
<script src="../js/vue.js"></script>
<script>
const obj = {
counter: 0,
message: 'abc'
}
const app = new Vue({
el:'#app',
data: obj,
// data:{
// counter: 0
// },
methods:{
add:function () {
console.log("add被执行");
this.counter++
},
sub:function () {
console.log("sub被执行");
this.counter--
}
}
})
</script>
</body>
</html>
浙公网安备 33010602011771号