首页 > 其他分享 >Vue(五):Vue中的MVVM

Vue(五):Vue中的MVVM

时间:2023-06-23 14:56:23浏览次数:30  
标签:Vue MVVM vm 视图 实例 data

<!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实例中存在的东西,模板代码都能对其进行调用。

(本文仅作个人学习记录用,如有纰漏敬请指正)

标签:Vue,MVVM,vm,视图,实例,data
From: https://www.cnblogs.com/jmsstudy/p/17499161.html

相关文章

  • Vue前端权限管理
    一、登录权限控制实现哪些页面能被未登录的用户访问,哪些页面只有用户登录后才能被访问1、实现:在路由对象中以添加meta的方式去实现登录页面权限控制需要登录才能显示的页面设置meta.need_login属性export const routes = [      {         p......
  • 超级详细的Vue安装与配置教程
    超级详细的Vue安装与配置教程目录一、下载和安装Vue二、创建全局安装目录和缓存日志目录三、配置环境变量1.环境变量---用户变量---选中Path---点编辑2.环境变量---系统变量---新建三、安装vue1.安装vue.js2.安装webpack模板3.安装脚手架vue-cli......
  • 前端Vue自定义导航栏菜单 定制左侧导航菜单按钮 中部logo图标 右侧导航菜单按钮
    前端Vue自定义导航栏菜单定制左侧导航菜单按钮中部logo图标右侧导航菜单按钮,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13152效果图如下:cc-navHeader使用方法在page.json设置{"path":"pages/index/index","style":{"nav......
  • 前端Vue自定义简单实用轮播图封装组件 快速实现轮播图
    前端Vue自定义简单实用轮播图封装组件快速实现轮播图,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13153效果图如下:cc-mySwiper使用方法<!--自定义轮播图swiperArr:轮播数组 @swiperItemClick:轮播图条目点击--><cc-mySwiper:swi......
  • 前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input
    前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13166效果图如下:cc-defineKeyboard使用方法<!--ref:唯一ref passwrdType:密码样式paykeyInfo:密码输入监测事件--><cc-def......
  • 前端Vue自定义数字输入框 带加减按钮的数字输入框组件
    前端Vue自定义数字输入框带加减按钮的数字输入框组件,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13163效果图如下:cc-numbox使用方法<!--title:标题 isSetMax:是否设置最大值 maxNum:最大值--><cc-numboxtitle="商品数量(设......
  • 前端Vue自定义简单好用商品分类列表组件 侧边栏商品分类组件
    前端Vue自定义简单好用商品分类列表组件侧边栏商品分类组件 ,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13148效果图如下:cc-defineCateList使用方法<!--data:商品列表数组[{navtitle:标题shop:[]展示列表}]@click:商品条目点击事......
  • Vue(三):数据绑定(v-bind和v-model)
    数据绑定分为单向数据绑定和双向数据绑定,单向数据绑定就是前面学习的v-bind指令,而双向数据绑定则是下面学习的v-model指令。<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>数据绑定</title><scripttype="text/javascript&qu......
  • Vue进阶(幺叁柒):动态表单校验
    在前期博文《Vue进阶(三十):vue中使用element-ui进行表单验证》、《Vue进阶(幺幺叁):关于vue.jselementui表单验证this.$refs[formName].validate()的问题》、《Vue进阶(幺贰幺):表单校验注意事项》中主要讲解了form表单校验应遵守的约定及常见问题解决方法。在实现动态表单,且表单项为后......
  • Vue(二):指令语法之v-bind
    一、什么是指令语法vue中模板语法有两大类,第一类是插值语法,第二类就是指令语法。1.插值语法插值语法在上一篇“vue的简单使用”中已经提到了。功能:用于解析标签体的内容写法:{{XXX}},XXX为js表达式2.指令语法功能:用于解析标签(包括标签属性、标签事件、标签体内容等)本文来学......