vue 例子中,MVVM 分别是指哪里?哪部分代码是VM,哪部分是M?

<script src="vue.js"></script>

<div id="demo">
  {{message}}
  <input v-model="message">
</div>

<script>
  var vm = new Vue({
    el: '#demo',
    data: {
      message: 'Hello Vue.js!'
    }
  })
</script>

在这里,我知道 div 标签是MVVM的V,然后 var vm = new Vue({...}) 是VM对吗?那么哪些是M?

阅读 6.6k
2 个回答

model view vm

model 是数据, data
view 是模板
vm 是 vm = new Vue();

vm 用了连接数据和视图, 视图的输入框绑定了v-model, 用户输入后会改变data;

model改变也会同步视图更新相关的依赖, 双向绑定就是vm起了作用

MVVM最早是微软WPF中的概念,M代表的数据对象,一般在WPF中是一个个数据类实例化的数据对象,通过VM与V绑定。

现在的前端架子的MVVM中的M泛指绑定的那些个数据结构。


理解不正之处还请指正。


忘了回答你的问题,vm对象就是VM没问题,M在这里可以看做是data中绑定的数据模型。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题