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

深圳网站建设公司排行无锡企业网站设计公司

深圳网站建设公司排行,无锡企业网站设计公司,商洛市住房和城乡建设局网站,大数据精准营销系统isRef() isRef():检查某个值是否为 ref。 isRef函数接收一个参数,即要判断的值。如果该参数是由ref创建的响应式对象,则返回true;否则,返回false。 import { ref, isRef } from vue const normalValue 这是一个普通…

isRef()

isRef():检查某个值是否为 ref。

isRef函数接收一个参数,即要判断的值。如果该参数是由ref创建的响应式对象,则返回true;否则,返回false

import { ref, isRef } from 'vue'
const normalValue = '这是一个普通值'
const refValue = ref('这是一个 ref 创建的响应式值')
console.log(isRef(normalValue))  // false
console.log(isRef(refValue))     // true

isRef() 可以作为类型守卫

isRef()的返回值一个类型判定,因此 isRef() 可以被用作类型守卫。

类型判定(type predicate)的概念
在 TypeScript 中,类型判定是一种特殊类型的函数,它用于在运行时确定一个值的类型。类型判定函数的返回值是一个类型谓词,它的形式为参数名 is 类型。当类型判定函数返回true时,TypeScript 编译器会将参数的类型缩小为指定的类型

  • 在条件判断中的类型缩小:当使用isRef()进行类型判断后,TypeScript 可以在后续的代码中根据判断结果进行类型缩小。
    • if分支中,变量的类型被确定为响应式对象。
    • else分支中,变量的类型被确定为非响应式对象。

示例:

import { ref, isRef } from 'vue'let value: unknown
// 在条件判断中的类型缩小
if (isRef(value)) {// 在这个分支中,TypeScript 知道 value 是一个由 ref 创建的响应式对象// value 的类型被收窄了:Ref<unknown>console.log((value as any).value)
} else {// 在这个分支中,TypeScript 知道 value 不是由 ref 创建的响应式对象console.log(value)
}

unref()

unref()接收一个参数,如果参数是 ref,则返回内部值,否则返回参数本身。

unref()的本质是 val = isRef(val) ? val.value : val 计算的语法糖:unref() 的功能实际上等同于使用 isRef() 函数进行判断,如果参数是 ref 对象,则取其 .value 属性,否则直接返回参数本身。

import { reactive, ref, unref } from 'vue';const refValue = ref('这是一个 ref 创建的响应式值')
const reactiveValue = reactive({name: '这是一个reactive创建的响应式',age: 18
})
const normalValue = '这是一个普通值'const unrefValue = unref(refValue)
const unrefReactiveValue = unref(reactiveValue)
const unrefNormalValue = unref(normalValue)console.log('refValue:', refValue)
console.log('unrefValue:', unrefValue)console.log('reactiveValue:', reactiveValue)
console.log('unrefReactiveValue:', unrefReactiveValue)console.log('normalValue:', normalValue)
console.log('unrefNormalValue:', unrefNormalValue)

查看控制台打印结果:
在这里插入图片描述

isReactive()

isReactive():检查一个对象是否是由 reactive()shallowReactive() 创建的代理。
isReactive()接收一个参数,即要判断的对象。如果该参数是由 reactive()shallowReactive() 创建的响应式对象,则返回true;否则,返回false

import { reactive, isReactive } from 'vue'
const normalObj = { message: '普通对象的值' }
const reactiveObj = reactive({ message: 'reactive 创建的响应式对象的值' })
console.log(isReactive(normalObj))   // false
console.log(isReactive(reactiveObj))   // true

isReadonly()

isReadonly():检查传入的值是否为只读对象。

import { reactive, readonly } from 'vue';
let reactiveObj = reactive({name: '这是一个reactive创建的响应式',age: 18
})let readonlyObj = readonly({message: 'hello,readonly!',
})console.log(isReadonly(readonlyObj))   // true
console.log(isReadonly(reactiveObj))   // false

isProxy()

isProxy():检查一个对象是否是由 reactive()readonly()shallowReactive()shallowReadonly() 创建的代理。

http://www.dtcms.com/wzjs/812264.html

相关文章:

  • 最新网站开发价格辽宁建设工程信息网投标流程视频
  • 怎样提高网站访问速度php做简易网站
  • 专用于做网站公司网站建设最高管理权限
  • 网络营销怎么做网站网站搭建制作
  • 经营网站赚钱电商常用的erp系统有哪些
  • 淘宝客自己做网站吗东莞市网站建设公司
  • 网站赏析适合夫妻看的哔哩哔哩电视剧
  • 网站开发 认证深圳网站制作长沙
  • 开发网站和applicationwordpress 对联广告
  • 建设一个手机网站首页wordpress登录密码记录在哪里
  • 网站建设服务外包wordpress编辑器按钮
  • 产品网站建站宜昌网站建设开发费用
  • 网站制作器手机版宁夏固原住房和建设局网站
  • 怎么免费建立自己的网站平台网站建设需要编码不
  • 濮阳微信网站建设电子商务网站开发的过程
  • 网天下信息技术有限公司网站做网站交互效果用什么软件
  • 如何用ps做网站效果图什么样的公司才叫企业
  • wordpress网店模板制作sem和seo是什么职业
  • 永州市建设局网站网站建设实训报告样板
  • 网站建设汽车后市场分析网站域名个人备案跟企业备案
  • 深圳网站建设公司企业网络营销解释
  • 七台河哈尔滨网站建设专门做考研的网站
  • 用闲置的安卓手机做网站二手建筑铝模板哪里有卖
  • 象山网站建设王晴儿网站建设
  • 建网站潞城哪家强?域名备案不是网站公司做的
  • 网站制作小工具医院网站可信认证必须做吗
  • 深圳定制网站建设WordPress搜索优化工具
  • 宜兴做网站多少钱平面设计主要做的是什么
  • 电子商务网站开发目的开外贸公司的流程及费用
  • iis7站长工具chatgpt网页