<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue中的MVVM</title>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h1>Hello, {{name}}</h1>
<h1>{{$options.el}}</h1>
</div>
<script type="text/javascript">
const vm = new Vue({
el: "#root",
data: {
name: "world"
}
});
console.log(vm);
</script>
</body>
</html>
什么是MVVM模型?
MVVM其实是三个东西,分别是模型(Model)、视图模型(ModelView)、视图(View)。
Vue的设计是借鉴了MVVM模型的,所以其设计人员建议定义一个Vue实例的时候,尽量去以vm来进行命名。
为什么以vm进行命名呢?
实际上,如果把Vue与MVVM模型中的三个东西一一对应,就会明白为什么了,二者对应如下:
模型(Model):Vue中的data数据
视图(View):Vue的模板代码
视图模型(ViewModel):Vue实例
这样一看就对Vue的整个过程相当清晰了,M的数据(也就是data中的数据)交给VM(也就是Vue实例)出处理,VM处理好之后再将数据交给V(Vue的模板代码)去展示。当然这只是单向的过程,双向的反过来即可。
所以说实际上Vue实例就是连接数据和模板代码的一个桥梁,经过处理的数据会成为Vue实例的一部分。
之前提到插值语法中可以是data中的属性和一些js表达式,现在看来,凡是Vue实例中存在的东西,模板代码都能对其进行调用。
(本文仅作个人学习记录用,如有纰漏敬请指正)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报