vue是mvvm模式。vue中支持的双向绑定就是利用mvvm模式,当m层数据进行修改时,vm层会检测到变化,并且通知v层进行相应的修改来实现的,也就是数据影响视图,视图影响数据,极大了提高了开发效率。
本文操作环境:windows10系统、vue2.9.6版,dell g3电脑。
vue是mvvm模式吗mvvm就是model-view-viewmodel,vue是mvvm模式。
model就是数据模型(亦指数据层)可以是我们固定死的数据,也可以是来自服务器请求来的数据。
view就是页面dom(亦指视图层)主要就是向用户展示信息的。
viewmodel 在vue中就是指vue实例(亦指数据模型层)充当view与model之间通信的桥梁。
viewmodel是vue.js的核心,它是一个vue实例。vue实例是作用于某一个html元素上的,这个元素可以是html的body元素,也可以是指定了id的某个元素。
创建了viewmodel后的双向绑定达成
首先,我们将上图中的dom listeners和data bindings看作两个工具,它们是实现双向绑定的关键。
从view侧看,viewmodel中的dom listeners工具会帮我们监测页面上dom元素的变化,如果有变化,则更改model中的数据;
从model侧看,当我们更新model中的数据时,data bindings工具会帮我们更新页面中的dom元素。
<!doctype html><html><head> <meta charset="utf-8"> <!-- div铺满全屏而不是缩放网页 --> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- edge 模式通知 windows internet explorer 以最高级别的可用模式显示内容, 这实际上破坏了“锁定”模式。即如果你有ie9的话说明你有ie789,那么就调用高版本的那个也就是ie9。 --> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>原生实现js实现m-v-vm</title> <script> /* mvvm : model 模型对象--》指的是构成界面内容的相关数据 view 视图对象--》指的给给用户或者开发者展示数据的界面 viewmodel 视图模型对象--》 指的是view与model之间的桥梁 */ let msg="hello world!";//相当于model window.onload=function(){ let h4dom = document.getelementbyid("h4dom"); let inputdom = document.getelementbyid("inputdom"); h4dom.innerhtml=msg; inputdom.value=msg; //通过对事件源的监听来实现,为js对象实现动态事件监听 //input输入事件 inputdom.addeventlistener("input",function(){ msg=this.value; h4dom.innerhtml=msg; }); } </script></head><body> <div> <h4 id="h4dom"></h4> <input type="text" value="" id="inputdom"/> </div></body></html>
实现效果:
【相关推荐:《vue.js教程》】
以上就是vue是mvvm模式吗的详细内容。