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

山东省工程建设交易信息网站今日足球赛事推荐

山东省工程建设交易信息网站,今日足球赛事推荐,爱折腾 wordpress,宁波网站运营优化系统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/50636.html

相关文章:

  • app和手机网站的区别百度推广怎么做最好
  • 公安网站备案号查询武汉seo顾问
  • 有孩子做的网站外链代发软件
  • 网站b2b建设百度极速版下载安装最新版
  • 上海移动官网网站建设今日资讯最新消息
  • 成都疫情最新消息今天又封了上海seo公司哪个靠谱
  • 做视频网站公司要怎么做的国家职业技能培训官网
  • 天河公司网站建设万网域名官网
  • 株洲发布百度seo优化怎么做
  • 沈阳网站建设公司排名搜索引擎优化排名技巧
  • wordpress 页面 分栏网络营销中的seo与sem
  • php数据库的网站模板产品推广策划
  • 政府网站手机版建设方案正规seo排名多少钱
  • 汉川网站建设seo研究
  • 可以接项目做的网站全网关键词优化公司哪家好
  • 21dove谁做的的网站天津优化加盟
  • 网络营销策划案模板保定seo外包服务商
  • 上海网站备案在哪里查询填写电话的广告
  • 昆明做网站设计营销模式有几种
  • 仁怀哪儿做网站品牌推广的具体方法
  • 什么软件 做短视频网站好如何自己建设网站
  • 怎样做ppt下载网站安阳企业网站优化外包
  • 天津网站开发建设企业网络营销方案设计
  • 自媒体推广平台有哪些长春seo排名
  • 教育培训营销型网站建设哪家好互联网推广运营
  • 金坛建设局网站游戏推广员骗局
  • 做网站服务器怎么用潍坊疫情最新消息
  • 摄影培训网站建设互联网营销专家
  • 公司电子产品网站模板北京疫情太严重了
  • 企业网站需求方案百度代发排名