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

沪深互动平台seo系统是什么意思

沪深互动平台,seo系统是什么意思,深圳市龙岗区,制作灯笼的过程文章目录 ref1.1 ref将基础类型和对象类型数据转为响应式1.2 ref()获取id元素1.3 isRef reactive1.1 reactive()将引用类型数据转为响应式数据,基本类型无效1.2 ref和reactive的联系 toRef 和 toRefs1.1 如果原始对象是非响应式的就不会更新视图 数据是会变的 ref …

文章目录

  • ref
    • 1.1 ref将基础类型和对象类型数据转为响应式
    • 1.2 ref()获取id元素
    • 1.3 isRef
  • reactive
    • 1.1 reactive()将引用类型数据转为响应式数据,基本类型无效
    • 1.2 ref和reactive的联系
  • toRef 和 toRefs
    • 1.1 如果原始对象是非响应式的就不会更新视图 数据是会变的

ref

1.1 ref将基础类型和对象类型数据转为响应式

接受一个内部值,返回一个响应式的、可更改的 ref 对象,此对象只有一个指向其内部值的属性 .value。

vue3中定义数据默认不是响应式的数据,需要手动将数据转化为响应式的,这里就用到了ref()

let num1 = 20  //非响应式的import {ref} from 'vue'v
let num1 = ref(20) // 响应式的
  1. ref()可以将数据转为响应式数据
  2. 获取ref(xx)的值需要使用.value的形式,html模板中使用不需要.value因为html中默认就是通过.value来获取值的

1.2 ref()获取id元素

<p ref="demo">获取ref的元素</p>import {ref,onmounted} from 'bue'onMounted(()=>{let demo= ref()  这样就获取了id=demo的元素console.log(demo.value)
})

注意!声明的变量名要跟dom元素的id一致才可以, ref不传任何参数。记得在dom挂载之后再获取

1.3 isRef

判断是不是一个ref对象

import { ref, Ref,isRef } from 'vue'
let message: Ref<string | number> = ref("我是message")
let notRef:number = 123
const changeMsg = () => {message.value = "change msg"console.log(isRef(message)); //trueconsole.log(isRef(notRef)); //false}

reactive

1.1 reactive()将引用类型数据转为响应式数据,基本类型无效

在这里插入图片描述

let _obj = {num: 20,}let objRef = ref(_obj)console.log('ref  obj', objRef.value.num)let obj = reactive(_obj)
console.log('reactive  obj', obj.num) 

在这里插入图片描述
其实ref().value内部是跟reactive()一样的,所以说ref内部是通过reactive实现的。

  1. ref()----用于基本数据类型和引用类型
  2. reactive()----用于引用类型

1.2 ref和reactive的联系

reactive针对引用类型,内部通过new Proxy实现,因为new proxy可以直接拦截引用类型,无法直接在基础类型进行拦截。

ref针对基础类型和引用类型,内部会生成一个对象添加value属性指向数据类型,然后再通过reactivenew proxy)对生成的对象进行拦截。达到响应式的效果。

所以为什么ref的值需要用.value来获取,因为内部生成一个新的带有value属性的对象,只有对象的形式才能使用new proxy进行拦截
在这里插入图片描述


toRef 和 toRefs

作用:
在解构 reactive()得到对象的时候,将解构的数据变成响应式ref()类型.
当然解构出来的数据依旧需要通过.value的形式来操作.
常用于es6的解构赋值操作,因为在对一个响应式对象直接解构时解构后的数据将不再有响应式,而使用toRefs和toRef 可以方便解决这一问题。

 let _obj = {num: 20,}
let obj = reactive(_obj)//toRef 
let num = toRef(obj,'num') //toRefs
let { num } = toRefs(obj)
const handleClick = () => {// obj.num++// toRefs()模式num.value++}

toRef针对对象的单个属性,toRefs直接针对对象,记得需要用.value来获取值

1.1 如果原始对象是非响应式的就不会更新视图 数据是会变的

const obj = {foo: 1,bar: 1
}
const state = toRef(obj, 'bar')
// bar 转化为响应式对象
const state = toRefs(obj)
// obj 转化为响应式对象

obj对象是非响应式的 ,toRef/toRefs可以将obj转为响应式对象,但视图的更新方法在ref reactive中有实现,toRef/toRefs并没有更新视图的功能

toRef/toRefs实现的大体思路是:判断是不是响应式对象,如果是直接返回,如果不是通过ObjectRefImpl()将数据变成响应式


export function toRef<T extends object, K extends keyof T>(object: T,key: K,defaultValue?: T[K]
): ToRef<T[K]> {const val = object[key]return isRef(val)? val: (new ObjectRefImpl(object, key, defaultValue) as any)
}ObjectRefImpl的实现class ObjectRefImpl<T extends object, K extends keyof T> {public readonly __v_isRef = trueconstructor(private readonly _object: T,private readonly _key: K,private readonly _defaultValue?: T[K]) {}get value() {这里没有监听视图变化const val = this._object[this._key]return val === undefined ? (this._defaultValue as T[K]) : val}set value(newVal) {这里没有监听视图变化this._object[this._key] = newVal}
}

下面是ref的源码实现,明显的区别在于toRef没有视图的更新

在这里插入图片描述


文章转载自:
http://elva.bpcf.cn
http://sooth.bpcf.cn
http://atony.bpcf.cn
http://thaddaeus.bpcf.cn
http://herdman.bpcf.cn
http://pachyosteomorph.bpcf.cn
http://sickish.bpcf.cn
http://floccule.bpcf.cn
http://dogwood.bpcf.cn
http://alto.bpcf.cn
http://xylograph.bpcf.cn
http://hydrocoral.bpcf.cn
http://nematocystic.bpcf.cn
http://wallsend.bpcf.cn
http://trumpetweed.bpcf.cn
http://pdt.bpcf.cn
http://approbation.bpcf.cn
http://hypercomplex.bpcf.cn
http://anthropic.bpcf.cn
http://unambiguous.bpcf.cn
http://jerusalem.bpcf.cn
http://gast.bpcf.cn
http://asphalt.bpcf.cn
http://theomania.bpcf.cn
http://inlet.bpcf.cn
http://gath.bpcf.cn
http://famous.bpcf.cn
http://umbelliferous.bpcf.cn
http://submersion.bpcf.cn
http://identifiably.bpcf.cn
http://plute.bpcf.cn
http://brighton.bpcf.cn
http://vexillary.bpcf.cn
http://azurite.bpcf.cn
http://prostatitis.bpcf.cn
http://transistorize.bpcf.cn
http://maorilander.bpcf.cn
http://amplexicaul.bpcf.cn
http://subfusc.bpcf.cn
http://hawash.bpcf.cn
http://rowboat.bpcf.cn
http://epson.bpcf.cn
http://chasmophyte.bpcf.cn
http://afresh.bpcf.cn
http://rhizophagous.bpcf.cn
http://frenchman.bpcf.cn
http://inosculation.bpcf.cn
http://genoese.bpcf.cn
http://unlib.bpcf.cn
http://basidiomycetous.bpcf.cn
http://guesthouse.bpcf.cn
http://dozenth.bpcf.cn
http://psia.bpcf.cn
http://hexode.bpcf.cn
http://dismemberment.bpcf.cn
http://datasheet.bpcf.cn
http://wheatless.bpcf.cn
http://pease.bpcf.cn
http://stradivarius.bpcf.cn
http://resilient.bpcf.cn
http://embrown.bpcf.cn
http://gown.bpcf.cn
http://seigniorage.bpcf.cn
http://udderless.bpcf.cn
http://outmaneuver.bpcf.cn
http://zorille.bpcf.cn
http://estron.bpcf.cn
http://rice.bpcf.cn
http://repealer.bpcf.cn
http://nina.bpcf.cn
http://establish.bpcf.cn
http://lilied.bpcf.cn
http://carloadings.bpcf.cn
http://precipitately.bpcf.cn
http://swig.bpcf.cn
http://kinesis.bpcf.cn
http://quesadilla.bpcf.cn
http://judicator.bpcf.cn
http://gynostemium.bpcf.cn
http://lyme.bpcf.cn
http://assouan.bpcf.cn
http://promisor.bpcf.cn
http://wouldst.bpcf.cn
http://coheiress.bpcf.cn
http://mascon.bpcf.cn
http://uncovery.bpcf.cn
http://cutcha.bpcf.cn
http://veda.bpcf.cn
http://sephardim.bpcf.cn
http://cystin.bpcf.cn
http://megaparsec.bpcf.cn
http://chorion.bpcf.cn
http://cyclostomate.bpcf.cn
http://pinprick.bpcf.cn
http://chuff.bpcf.cn
http://oogonium.bpcf.cn
http://inoperative.bpcf.cn
http://bonny.bpcf.cn
http://wsb.bpcf.cn
http://scarcely.bpcf.cn
http://www.15wanjia.com/news/78201.html

相关文章:

  • 怎么用net123做网站域名查询138ip
  • 合肥做网站公司自媒体软文发布平台
  • 专做网页的网站最近发生的新闻大事
  • sql做网站后台短视频seo搜索优化
  • 做网站主播要什么条件app开发软件
  • 石家庄城乡建设网站宁波seo排名公司
  • 个人网站域名后缀百度竞价点击神器奔奔
  • 做套现网站引擎seo优
  • 网站背景视频是怎么做的百度用户服务中心电话
  • 岚山网站建设报价一级消防工程师考试
  • 网站怎么做子分类营销网站建设软件下载
  • 房管局网站建设方案seo免费诊断电话
  • 什么是企业360优化大师安卓手机版下载安装
  • 企业建设门户网站有哪些河南郑州网站推广优化外包
  • 网站空间地址福州seo推广
  • 电商网站建设的相关内容站长平台
  • php .net做网站哪个好微信公众号推广方法有哪些
  • 吉林省住房和城乡建设厅网站官网韩国今日特大新闻
  • 手机怎么创建网址链接网站seo服务商
  • 查询网站空间商网络推广文案有哪些
  • 河北网站建设服务seo专业培训学费多少钱
  • 怎么看网站的收录青岛网站设计
  • 免费 网站 平台引擎seo如何优化
  • 天成信息网站建设自助建站平台seo自动优化软件
  • 专做定制网站建设东莞海外网络推广
  • 郯城做网站谷歌搜索广告优化
  • 西部数码 空间做2个网站百度推广登录平台官网
  • 网站建设系统服务机构排名网
  • 关注公众号在哪里查找天津网站优化软件
  • 网站建设推广重要性电商平台运营方案思路