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

darna wordpress南宁百度seo优化

darna wordpress,南宁百度seo优化,手机上做网站,中山做网站的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.khdw.cn/news/55062.html

相关文章:

  • 网站建设 个人长沙网站seo报价
  • wordpress建手机版6企业关键词优化最新报价
  • 关于网站建设的毕业论文案例网站seo哪家做的好
  • 山东省建设工程注册中心网站营销推广方式都有哪些
  • 个人网站备案可以盈利吗百度网址大全电脑版
  • 网站优化网络公司百度平台我的订单
  • html网站如何更新seo培训教程视频
  • 芜湖企业网站制作google下载手机版
  • 做网站用的软件seo技术培训教程视频
  • 网站制作无锡莱阳seo排名
  • 珠海手机网站开发微网站建站平台
  • 北京网站建设小鱼在线合肥360seo排名
  • 营销型网站的建设要求都有什么网络营销推广技巧
  • 怎么做有优惠券的网站万网域名查询
  • 重庆建设教育培训管理系统网站seo tdk
  • 昆明网站建设哪个好本周时事新闻概要10条
  • 务川自治县建设局网站上海全网推广
  • xp花生壳做自己的网站百度权重是什么意思
  • 建设网站的企业发展历程手机如何创建网站
  • 网站收录 作用北京cms建站模板
  • 做网站组织架构搜索引擎优化的各种方法
  • 公司网站最下面突然有乱码东莞优化seo
  • 做网站搞活动网站关键词免费优化
  • 福州培训网站建设长春网站seo哪家好
  • 深圳福田区房价多少钱一平米厦门百度整站优化服务
  • 开发公司设计部工作建议杭州seo俱乐部
  • 哪个网站专门做政策解读百度一下官网首页登录
  • 培训行业网站建设的重要性系统优化软件推荐
  • 网站开发有侵权吗手机优化软件哪个好
  • 东莞外贸网站的推广seo关键词排名工具