当前位置: 首页 > news >正文

面试官:Vue.observable你有了解过吗?说说看

一、Observable 是什么

Observable 翻译过来我们可以理解成可观察的

我们先来看一下其在Vue中的定义

Vue.observable,让一个对象变成响应式数据。Vue 内部会用它来处理 data 函数返回的对象

返回的对象可以直接用于渲染函数和计算属性内,并且会在发生变更时触发相应的更新。也可以作为最小化的跨组件状态存储器

Vue.observable({ count : 1})

其作用等同于

new vue({ count : 1})

Vue 2.x 中,被传入的对象会直接被 Vue.observable 变更,它和被返回的对象是同一个对象

Vue 3.x 中,则会返回一个可响应的代理,而对源对象直接进行变更仍然是不可响应的

二、使用场景

在非父子组件通信时,可以使用通常的bus或者使用vuex,但是实现的功能不是太复杂,而使用上面两个又有点繁琐。这时,observable就是一个很好的选择

创建一个js文件

// 引入vue
import Vue from 'vue
// 创建state对象,使用observable让state对象可响应
export let state = Vue.observable({name: '张三','age': 38
})
// 创建对应的方法
export let mutations = {changeName(name) {state.name = name},setAge(age) {state.age = age}
}

.vue文件中直接使用即可

<template><div>姓名:{{ name }}年龄:{{ age }}<button @click="changeName('李四')">改变姓名</button><button @click="setAge(18)">改变年龄</button></div>
</template>
import { state, mutations } from '@/<

http://www.mrgr.cn/news/34030.html

相关文章:

  • python文件命名,不注意容易出错
  • 5.7 与 8.0 对相同文件的 LOAD DATA 语句结果不同
  • C# 实现对指定句柄的窗口进行键盘输入的实现
  • [2024最新] java八股文实用版(附带原理)---java集合篇
  • C语言与OpenGL实现3D旋转爱心模型及动画效果
  • Linux故障排查中常用的命令
  • 时序建模基础——RevIN
  • 适合新手小白挖掘的高危逻辑漏洞
  • 中欧美三方,理解《人工智能安全治理框架》的特点
  • numpy.dot example
  • 一位架构师的自述:在尚未踏入的世界成为你自己
  • 打印机问题故障处理_十大打印机故障大全及处理方法
  • 干耳屎硬掏不出来怎么办?双十一好用的可视挖耳勺推荐
  • 基于GIS巡检管理系统建设方案(Doc原件参考)
  • 冠珠瓷砖队勇夺第一!超燃绽放城市活力,硬气传承文化大美
  • Springcloud框架-能源管理系统-能源管理系统源码-能源在线监测平台-双碳平台
  • 数据库 - MySQL介绍
  • 黑马智数Day2
  • 在 Postman 中模拟 HTTPS 请求
  • 如何架构蓝图:企业数字化转型的核心指南
  • Spring Boot管理用户数据
  • Vue3:$refs和$parent实现组件通信
  • 按键与库函数
  • Transact-SQL概述(SQL Server 2022)
  • Python在AI中的应用--使用决策树进行文本分类
  • 安装MySQL驱动程序笔记二