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

什么是网站主题百度快照搜索引擎

什么是网站主题,百度快照搜索引擎,joomla drupal wordpress,广告设计培训班费用readonly() readonly()是一个用于创建只读代理对象的函数。它接受一个对象 (不论是响应式还是普通的) 或是一个 ref&#xff0c;返回一个原值的只读代理。 类型 function readonly<T extends object>(target: T ): DeepReadonly<UnwrapNestedRefs<T>>以下…

readonly()

readonly()是一个用于创建只读代理对象的函数。它接受一个对象 (不论是响应式还是普通的) 或是一个 ref,返回一个原值的只读代理。

类型

function readonly<T extends object>(target: T
): DeepReadonly<UnwrapNestedRefs<T>>

以下是对这个函数签名的详细解释:

  • 参数target: T
    • target是要被转换为只读对象的输入对象。
    • T extends object表示类型参数T必须是一个对象类型,这确保了输入的target只能是对象而不是基本数据类型(如数字、字符串等)。
  • 返回值DeepReadonly<UnwrapNestedRefs<T>>:这个函数返回一个深度只读的、解包了嵌套响应式对象的新对象。
    • DeepReadonly是一个工具类型,它使传入的类型变为深度只读类型,即对象的所有嵌套属性也都是只读的。
    • UnwrapNestedRefs是一个工具类型,它用于解包嵌套的响应式对象(由refreactive创建的对象),将嵌套的响应式对象转换为普通的 JavaScript 对象。

示例

readonly()创建的只读代理是深层的:对任何嵌套属性的访问都将是只读的。它的 ref 解包行为与 reactive() 相同,但解包得到的值是只读的。

  • 对象的所有嵌套属性都将变为只读。
  • 任何尝试修改这个对象的操作都会被阻止(在开发模式下,还会在控制台中发出警告)。
import { readonly } from 'vue';
let readonlyObj = readonly({message: 'hello',info: {name: 'readonly',back: 'Proxy对象'}
})// 报错:无法为“message”赋值,因为它是只读属性。
readonlyObj.message = 'hello'
// 无法为“name”赋值,因为它是只读属性。
readonlyObj.info.name = 'readonly!'


如果原始对象是响应式的,那么通过readonly创建的对象也会保持响应性:原始对象的属性发生变化,只读对象也会反映这些变化。

import { reactive, readonly } from 'vue';let reactiveObj = reactive({message: 'hello'
})let readonlyObj = readonly(reactiveObj)
console.log(reactiveObj, readonlyObj)// 修改原始对象reactiveObj
reactiveObj.message = 'hello, world!'
console.log(reactiveObj, readonlyObj)

查看控制台打印结果:
在这里插入图片描述
只读对象readonlyObj跟随原始对象reactiveObj的变化而变化。

应用场景

  • 创建不可变的状态快照。
  • 保护全局状态或配置不被修改。


shallowReadonly()

shallowReadonly()readonly() 的浅层作用形式,是一个用于创建浅层只读代理对象的函数。

shallowReadonly接受一个对象作为参数,并返回一个新的代理对象。
shallowReadonly创建的对象是浅层只读的:

  • 只将对象的顶层属性设置为只读,对象内部的嵌套属性可以被修改。
  • 适用于只需保护对象顶层属性的场景。
import { reactive, shallowReadonly } from 'vue';let readonlyObj = shallowReadonly({message: 'hello',info: {name: 'readonly',back: 'Proxy对象'}
})// 无法为“message”赋值,因为它是只读属性。
readonlyObj.message = 'hello, world!'
// name是嵌套属性,不是readonlyObj的第一层属性,因此,name可以被修改
readonlyObj.info.name = 'readonly!!!'

如果原始对象是响应式的,那么通过shallowReadonly创建的对象也会保持响应性。

http://www.zhongyajixie.com/news/31095.html

相关文章:

  • 淮北网站制作大数据查询官网
  • 电商网站开发流程无锡网络推广平台
  • 做信息流推广需要建立网站么海外营销推广服务
  • 一网推天下b2b快排seo排名软件
  • 哈尔滨做网站哪里好百度运营怎么做
  • 哪里有网站可以做动态视频倒计时企业培训体系
  • 网站免费优化工具淄博网站优化
  • 赚钱做任务的网站有哪些web网页制作教程
  • 网站写作赚钱拼多多关键词排名查询工具
  • 做网站的价格贵吗外贸推广公司
  • 网站备案 新闻类前置审批腾讯企点下载
  • 贵阳网站建设培训北京建设网站公司
  • 曲靖网站设计公司站内推广的方法和工具
  • 公司页面设计图片搜索引擎优化seo多少钱
  • 桐城网站设计广州seo全网营销
  • 大众服务器网站市场营销公司有哪些
  • 淘宝装修免费模板有哪些网站整站seo服务
  • 设计优秀网站作品网易搜索引擎
  • 阿里云网站建设 部署与发布笔记安卓优化大师app下载安装
  • 青海营销网站建设服务百度标注平台怎么加入
  • 网片加工厂家杭州seo网站
  • 购物网站管理层查网站排名
  • 自己做网站模板崇左网站建设
  • 池州网站建设价格seo专业培训
  • 济南物流公司网站建设站长工具介绍
  • 没有英文网站怎么做外贸福州关键词搜索排名
  • 成品网站源码1688danji6优化seo深圳
  • 深圳住房和建设局网站统一社会代码aso优化师工作很赚钱吗
  • 以下哪个域名是做游戏网站的swot分析
  • 巩义服务专业网站建设网站内容编辑