Vue中特有的MVVM

62 阅读1分钟

序言

Vue的作者在设计Vue时参考了MVVM模型设计了一个Vue里特有的模型。

Vue中如何参考的MVVM?

  1. M:模型(Model),对应data中的数据。
  2. V:视图(View),模板。
  3. VM:视图模型(ViewModel),Vue实例对象。

对应如下图示: image.png

Vue视图模型(VM)将数据(M)和视图(V)进行双向绑定。
通俗的讲,VM中的DOM Listeners的作用就是当页面上的内容发生改变时会将data中的数据进行更新,如用户在输入框中输入内容时;相应的,Data Bindings的作用即是当data中的数据有更新时,将页面上对应位置的数据进行同步更新,从而达到一个页面和数据之间的双向绑定,这就是Vue中特有的MVVM模型

模板中可以写什么?

只要是VM(Vue实例)中有的,都可以写上。示例:

<body>
    <div id="app">
        <h1 :x=__v_skip>{{$options}}</h1>
    </div>
</body>
<script>
    const vm = new Vue({
        el:'#app',
    })
    console.log(vm);
</script>

运行如上代码,在控制台展开Vue实例: image.png 查看我们的HTML代码,x的值为true: image.png

我们用两种不同的模板语法绑定了Vue中的两个属性,都可以得到对应的值。
由此可以得出,Vue中模板语法可以写上任意的VM中的属性。