理解MVVM:以.vue文件为例
一个.vue文件就是一个组件,一个组件就是一个小的MVVM。
<template>
<div class="hello">
<h1>{{msg}}</h1>
<label><input type="text" v-model="msg" /></label>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data(){
return {
msg:"学习vue...."
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>
V:视图
<template>
<div class="hello">
<h1>{{msg}}</h1>
<label><input type="text" v-model="msg" /></label>
</div>
</template>
VM:实例,实现业务逻辑
<script>
export default {
name: 'HelloWorld',
data(){
return {
msg:"学习vue...."
}
}
}
</script>
M:存放数据
将数据挂载到VM上,体现在文件中是:
data(){
return {
msg:"学习vue...."
}
总结:V与VM之间是双向的,当V内容改变后,VM会及时监听到V,并做出相应改变。但是这并不意味着数据流是双向的。