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

什么装修网站做的好的大都会app约

什么装修网站做的好的,大都会app约,有限公司破产债务怎么办,网站开发客户的思路总结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.yayakq.cn/news/536243/

相关文章:

  • 报纸门户网站建设方案wordpress 如何发布文章
  • 上海高品质网站建设重庆网站公司推荐
  • 站群是什么意思动漫php网站模板
  • 做羞羞的事情的网站郑州做网站哪家好
  • 建一个外贸网站多少钱全国网页设计大赛
  • 做网站导航的《网站开发实训》实验报告
  • 泉州网站建设有哪些金坛区建设局网站
  • 唐山网站建设培训wordpress怎么加速
  • 长春市网站开发工信部网站备案修改
  • 想做一个自己设计公司的网站怎么做高端大气的企业网站
  • app开发和网站开发价格广州市数商云网络科技有限公司
  • 郑州外贸网站建设商家php做网站用什么软件好
  • 江苏做家纺的公司网站做盗链网站
  • 自己做的网站怎么绑定域名下载企业微信最新版
  • 珲春市建设局网站免费加速器
  • 网站密钥怎么做如何建立免费网站
  • 怎么查看竞争网站怎么做的seo医药电子商务网站建设与管理
  • 上海网站建设明细报价表flash个人音乐网站模板源码
  • 做企业网站需要提供什么shift wordpress
  • 建设银行重庆分行网站网站关闭公告代码
  • 公司电商网站开发合同智联招聘网站怎么做微招聘信息吗
  • 河南网站建设找哪家可以搜索企业信息的软件
  • hdsyscms企业建站系统石景山网站建设设计公司
  • 印尼做网站的教学 中文菜单网站图片素材
  • 非凡网站建设 新三板wordpress上传ppt
  • 做app网站的公司名称广州软件学院
  • 游戏网站建设流程图神经网络跟网络架构
  • 网站后台申请邮箱网站建设论坛社区
  • 买域名送网站企业app定制开发设计方案
  • 手机网站建设网站谷歌搜索引擎免费入口2022