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

安康有建网站的公司吗做网站用什么网名好

安康有建网站的公司吗,做网站用什么网名好,天工网工程新希望官网,产品展示网站含后台网站模板下载Vue 3 中的 markRaw() 函数 markRaw() 是 Vue 3 响应式系统中的一个 API#xff0c;用于标记一个对象#xff0c;使其永远不会被转换为响应式代理。这在您希望确保对象保持原始状态且不触发响应式更新时非常有用。 工作中使用带的例子#xff1a; chartInstance.value m…Vue 3 中的 markRaw() 函数 markRaw() 是 Vue 3 响应式系统中的一个 API用于标记一个对象使其永远不会被转换为响应式代理。这在您希望确保对象保持原始状态且不触发响应式更新时非常有用。 工作中使用带的例子 chartInstance.value markRaw(echarts.init(chartRef.value as HTMLDivElement));为什么需要 markRaw ECharts 实例本身是一个复杂的对象如果被 Vue 的响应式系统代理可能会导致性能下降或意外行为。 基本用法 import { markRaw, reactive } from vueconst original { foo: 1 } const reactiveObj reactive({nested: markRaw(original) // 标记为原始对象 })// original 不会被转为响应式 console.log(isReactive(reactiveObj.nested)) // 输出 false使用场景 性能优化处理不需要响应式的大型对象第三方库对象处理复杂的类实例或外部库的对象不可变数据如配置对象等不应改变的数据避免响应式开销当响应式转换会造成不必要开销时 重要特性 被标记的对象会被 Vue 的响应式系统跳过被标记对象内部的嵌套对象也不会被转换一旦标记该对象后续无法再转为响应式与 reactive() 或 ref() 的功能相反 组件中使用示例 import { markRaw } from vueexport default {setup() {// 标记配置对象为非响应式const staticConfig markRaw({apiUrl: https://api.example.com,timeout: 5000})return { staticConfig }} }注意事项 被 markRaw() 标记的对象将完全脱离 Vue 的响应式系统适用于那些确实不需要响应式更新的数据误用可能导致数据变化无法被视图检测到 markRaw() 的实现原理 markRaw() 是 Vue 3 响应式系统的核心 API 之一其实现原理主要基于以下几个关键机制 1. 标记位机制 Vue 3 内部使用 __v_skip 标记属性来标识是否跳过响应式转换 function markRaw(value) {// 给对象添加不可枚举的 __v_skip 属性def(value, __v_skip, true)return value }其中 def 是 Vue 内部工具函数用于定义不可枚举的属性 function def(obj, key, value) {Object.defineProperty(obj, key, {configurable: true,enumerable: false, // 不可枚举value}) }2. 响应式创建时的检查 在创建响应式代理时reactive() 或 ref()Vue 会先检查这个标记 function createReactiveObject(target) {// 检查 __v_skip 标记if (target target.__v_skip) {return target // 直接返回原始对象}// ...否则继续创建响应式代理 }3. 嵌套对象处理 对于嵌套对象的处理同样遵循这个规则 function get(target, key) {// 获取值const res Reflect.get(target, key)// 如果值是对象且没有被标记则递归转为响应式if (isObject(res) !res.__v_skip) {return reactive(res)}return res }4. 与响应式系统集成 整个机制与 Vue 的响应式系统深度集成 响应式跟踪被标记的对象不会被 track触发更新修改被标记对象不会 trigger 更新性能优化避免了不必要的 Proxy 创建和依赖收集 设计考量 这种实现方式具有以下优点 轻量级仅添加一个隐藏属性几乎无额外开销不可枚举不会影响对象的正常使用和序列化显式控制开发者可以精确控制哪些对象不需要响应式一致性与 Vue 的其他响应式 API 保持一致的实现风格 实际应用示例 const obj { a: 1 } markRaw(obj)// 内部实际变成了 { a: 1,__v_skip: true // 不可枚举属性 }
http://www.w-s-a.com/news/244055/

相关文章:

  • 济南网站制作哪家专业西安市城乡建设网官方网站
  • 网站建设有趣小游戏怎样让网站优化的方式
  • 昭通做网站儿童编程教学入门教程
  • eclipse静态网站开发软文广告投放平台
  • 网站建设教学视频济南做网站需要多少钱
  • 网站免费做软件市工商联官方网站建设方案
  • 网站建设大体包含英铭长沙网站建设
  • 网站建设培训学校北京如何搜索网站
  • discuz论坛模板哪些网站容易做seo优化
  • 渭南公司做网站网站建设互联网推广
  • 公司网站app怎么做杭州建设局网站
  • 网站开发需要自己写代码吗12306网站多少钱做的
  • 策勒网站建设四川建设网有限责任公司招聘
  • 网站建设哪里有学网页界面设计论文
  • 怎么做外贸网站推广劳务公司网站怎么做
  • 滴答手表网站中铁建设集团有限公司招聘信息2021
  • 重庆富通科技有限公司网站新闻头条最新消息国家大事
  • 四字母net做网站怎么样企业代运营公司
  • 纪检网站建设方案wordpress首页静态页面
  • 网站右下角浮动效果如何做网站logo设计在线生成
  • 西宁哪里做网站婚纱摄影网站设计思路
  • 凡科用模板做网站网站导入页欣赏
  • 北京响应式网站建设公司十大小程序开发公司
  • dw网站开发删除wordpress主题底部
  • 织梦网站怎样做子域名高德导航怎么看街景地图
  • 宿州专业网站建设株洲网站建设优化
  • 自动生成海报的网站常州建网站公司
  • 网站刷流量对网站有影响吗站长工具欧美高清
  • 百度做网站优化多少钱一年罗庄网站建设
  • 手机网站 自适应屏幕h5网站有哪些