MVVM模型



观察发现

  • data中所有属性,最后都出现在vm身上
  • vm身上所有属性及Vue原型身上所有属性,在Vue模板中都可以直接使用

Vue中的数据代理

通过vm对象来代理data对象中属性的操作(读getter/写setter

Vue中数据代理的好处

更加方便地操作data中的数据

基本原理

  • 通过Object.defineProperty()把data对象中所有属性添加到vm上
  • 为每一个添加到vm的属性,都指定一个setter/getter
  • setter/getter内部去操作(读/写)data中对应的属性



    Vue将data中的数据拷贝了一份到_data属性中,又将_data里的属性提到Vue实例中(如name),通过defineProperty实现数据代理,这样通过setter/getter操作name,进而操作_data中的name,而_data又对data进行数据劫持,实现响应式
<div id="room">
<h1>
Hello, {{name}}
</h1>
</div> <script>
const vm = new Vue({
el: '#room',
data: {
name: 'cloud'
}
})
</script>

vm里

MVVM模型 && 数据代理的更多相关文章

  1. Vue学习之--------el与data的两种写法、MVVM模型、数据代理(2022/7/5)

    文章目录 1.el与data的两种写法 1.1.基础知识 1.2.代码实例 1.3.页面效果 2.MVVM模型 2.1. 基础知识 2.2 .代码实例 2.3.页面效果 3.数据代理 3.1. 基础知 ...

  2. 搞懂:MVVM模型以及VUE中的数据绑定数据劫持发布订阅模式

    搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : model - view - viewmodel的缩写,说都能直接说出来 model:模型,view:视图,view-Model:视 ...

  3. MVVM数据代理

    MVVM数据代理 function MVVM(options) { this.$options = options || {}; var data = this._data = this.$optio ...

  4. MVC、MVP、MVVM模型

    在学习vue.react的过程中,总能看到MVVM模型,那么MVVM究竟是什么,下面将我最近看到的资料以及自己的想法总结一下. 与MVVM相似的,还有MVC.MVP,先从MVC.MVP这两个入手,方面 ...

  5. Vue MVVM模型原理

    最近反思了下自己,觉得自己很急躁,学技术总是觉得能用就行了,其实这样很不好,总是这样,就永远只能当用轮子的人.好了,废话不多说,转入正题: 要理解MVVM的原理,首先要理解它是什么,怎么运作起来的: ...

  6. Spring MVC 处理模型数据(@ModelAttribute)

    SpringMVC中的模型数据是非常重要的,因为MVC中的控制(C)请求处理业务逻辑来生成数据模型(M),而视图(V)就是为了渲染数据模型的数据. 直白来讲,上面这句话的意思就是:当有一个查询的请求, ...

  7. SpringMvc:处理模型数据

    SpringMvc提供了以下途径输出模型数据: -ModelAndView:处理方法返回值类型为ModelAndView,方法体即可通过该对象添加模型数据 -Map或Model:入参为org.spri ...

  8. 5、处理模型数据ModelAndView、Map、Model以及@SessionAttributes注解

    Spring MVC提供了以下几种途径输出模型数据 —— ModelAndView: 处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据.数据会添加到request域中. ...

  9. springmvc学习(五)——处理模型数据

    Spring MVC 提供了以下几种途径输出模型数据: ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据Map 及 Model: 入参 ...

  10. Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据

    Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现 ...

随机推荐

  1. docker从C盘迁移到D盘

    docker镜像在C盘占据大量的空间,将.docker从C:\Users\Administrator迁移到E:\.docker. 一.关闭virtual Box 使virtual Box处于关闭.停止 ...

  2. 12. Redis 安装

    参考http://www.runoob.com/redis/redis-install.html Window 下安装 下载地址:https://github.com/MSOpenTech/redis ...

  3. c++学习 4 运算符及其应用技巧

    一 按位与运算符 "&"按位与运算符,全1为1,有0则0. 特点:和1相与保持不变,和0相与都变为0. 功能:将指定位置清0. example: 1000 1100 &am ...

  4. react实现转盘动画

    转盘动画方法如下: /** * 点击转动转盘 */ const turnCircle = () => { let runDeg = +(Math.random() * 360).toFixed( ...

  5. windows 10 的VMware workstation Pro突然变成英文界面

    电脑的VMware虚拟机界面是中文版的,后来在捣弄些电脑配置,突然变成英文版界面了. 后面发现原来是区域格式选错了:正确的格式是下图红框

  6. Vue的学习(1)

    在学习Vue之前,首先大家要知道一个mvvm模式,何为mvvm模式呢,mvvm其实是有m,v和vm组成,类似与java里面的mvc模式,只不过mvc模式是针对于后台来说,而mvvm是针对于前台来说的, ...

  7. AXI4_LITE总线vivado2019.1官方模板源码(verilog实现)

    AXI lite总线读写时序 1. AXI_SLAVE源码 `timescale 1 ns / 1 ps module myip_v1_0_S00_AXI # ( // Users to add pa ...

  8. 高并发解决方案之 redis原子操作(适用于秒杀场景)

    秒杀活动: 秒杀场景一般会在电商网站或(APP/小程序)举行一些活动或者节假日在12306网站上抢票时遇到.对于一些稀缺或者特价商品,一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大 ...

  9. spring管理配置文件实现注入

    创建配置文件 写入以下内容: 创建配置文件的bean: <bean id="configProperties" class="org.springframework ...

  10. 估计人数【最小路径重复点覆盖】【直接在(i,j)建一个新点】

    估计人数 题意 思路 用最少的人,走完这几条线.最小重复路径点覆盖问题 建图之后,跑一下二分图. 考虑建图:图中'1'连着完下.或者右走.我们把图中所有的1编号,然后建图,然后floly,然后匈牙利. ...