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

国内特效网站seopeixun

国内特效网站,seopeixun,用meteor框架做的微博网站,哪个学校有网站建设目录 ​编辑 1. ref 部分 1.1 ref定义基本数据类型 1.2 ref 定义引用数据类型 2. reactive 函数 3. ref 和 reactive 对比 3.1 原理 3.2 区别 3.3 使用原则 在 Vue 3 中 ref 和 reactive 是用于创建响应式数据的两个核心函数。它们都属于 Composition API 的一部分&…

目录

​编辑 

1. ref 部分

1.1 ref定义基本数据类型

1.2 ref 定义引用数据类型 

2. reactive 函数

3. ref 和 reactive 对比

3.1 原理

3.2 区别

3.3 使用原则


 在 Vue 3 中 ref 和 reactive 是用于创建响应式数据的两个核心函数。它们都属于 Composition API 的一部分,但适用于不同的场景和类型的数据。理解两者之间的区别和适用场景对于高效开发 Vue 应用至关重要。

1. ref 部分

1.1 ref定义基本数据类型

作用:定义响应式变量。

语法:let xxx = ref(初始值)。

返回值:一个RefImpl 的实例对象,简称 ref 对象,ref 的对象的 value属性是响应式的。

注意点:如果使用ref定义响应式数据,JS中操作数据需要 xxx.value,但模板中不需要。

代码如下所示

<template><div class="person"><h3>我是Person组件</h3><h2>姓名:{{ name }}</h2><h2>年龄:{{ age }}</h2><button v-on:click="changeName">修改名字</button><button v-on:click="changeAge">修改年龄</button><button v-on:click="showTel">查看联系方式</button></div>
</template><script setup lang="ts">
import { ref, reactive } from 'vue'
let name = ref('张三')
let age = ref(18)
let tel = ref('123456')function changeName() {name.value = '李四'console.log(name)}function changeAge() {age.value += 1;console.log(age)}function showTel() {alert(tel)console.log(tel)}
</script><style>.person {background: blue;padding: 20px;}button{margin: 0 5px;}
</style>

控制台打印可以看到 ref 定义的响应式数据返回的是一个ref对象。

1.2 ref 定义引用数据类型 

其实 ref 接收的数据可以是:基本类型引用类型

若 ref 接收的是引用类型,内部其实也是调用了 reactive 函数。

代码如下

<template><div class="person"><h3>我是Person组件</h3><h2>姓名:{{ info.name }}</h2><h2>年龄:{{ info.age }}</h2><button v-on:click="changeName">修改名字</button><button v-on:click="changeAge">修改年龄</button><button v-on:click="showTel">查看联系方式</button></div>
</template><script setup lang="ts">import { ref, reactive } from 'vue'let info = ref({name: '张三', age: 18, tel: '12345678901'})console.log(info)function changeName() {info.value.name = '李四'console.log(info.value.name)}function changeAge() {info.value.age += 1;console.log(info.value.age)}function showTel() {alert(info.value.tel)console.log(info.value.tel)}
</script><style>
.person {background: blue;padding: 20px;
}button {margin: 0 5px;
}
</style>

如图所示,ref 定义引用数据类型,在外层是一个RedImpl 实例对象,而在内部是一个被proxy代理的对象。这也印证了“ 若 ref 接收的是引用类型,内部其实也是调用了 reactive 函数 ”。

2. reactive 函数

作用:定义一个响应式对象,基本类型不要用它,要用 ref,否则报错。

语法:let 响应式对象= reactive(源对象)。

返回值:一个 Proxy 的实例对象,简称:响应式对象。

注意点:reactive 定义的响应式数据是“深层次”的。

代码如下

<template><div class="person"><h3>我是Person组件</h3><h2>姓名:{{ info.name }}</h2><h2>年龄:{{ info.age }}</h2><button v-on:click="changeName">修改名字</button><button v-on:click="changeAge">修改年龄</button><button v-on:click="showTel">查看联系方式</button></div>
</template><script setup lang="ts">import { ref, reactive } from 'vue'let info = reactive({name: '张三', age: 18, tel: '12345678901'})console.log(info)function changeName() {info.name = '李四'console.log(info.name)}function changeAge() {info.age += 1;console.log(info.age)}function showTel() {alert(info.tel)console.log(info.tel)}
</script><style>
.person {background: blue;padding: 20px;
}button {margin: 0 5px;
}
</style>

控制台打印 reactive 定义的引用对象info

如图所示, 打印的是一个Proxy实例对象。

3. ref 和 reactive 对比

3.1 原理

(1) ref的本质就是实例化了RefImpl类得到了一个对象,访问这个对象的value属性时触发track,设置这个对象的value属性时触发trigger

(2) reactive响应式的原理是:创建了一个被Proxy代理的对象,Proxy里面代理了各种操作,在读取的时候触发track函数,在写入的时候触发trigger函数。

要想更深入了解底层原理,可参考下面这篇文章 ↓ ↓ ↓

vue源码简析-vue响应式原理(ref和reactive的原理) - 知乎

3.2 区别

1. ref 可以定义基本数据类型、引用数据类型,而 reactive 只能定义引用数据类型。

2. ref 创建的变量必须用 .value(可以使用volar插件自动添加value),reactive不需要。

3. 定义引用类型时,reactive 重新再分配一个对象,会失去响应式,可以使用 Object.assign整体替换。而 ref 重新分配对象时不会失去响应式。

3.3 使用原则

(1). 若需要一个基本类型的响应式数据,必须使用 ref。

(2). 若需要一个响应式对象,层级不深,ref`、reactive都可以。

(3). 若需要一个响应式对象,且层级较深,推荐使用 reactive。


文章转载自:
http://kablooey.kzrg.cn
http://earreach.kzrg.cn
http://timberline.kzrg.cn
http://ravishment.kzrg.cn
http://curtis.kzrg.cn
http://reperusal.kzrg.cn
http://mattess.kzrg.cn
http://gnomish.kzrg.cn
http://unwittingly.kzrg.cn
http://yardang.kzrg.cn
http://mechanism.kzrg.cn
http://skipjack.kzrg.cn
http://hectolitre.kzrg.cn
http://fjord.kzrg.cn
http://religion.kzrg.cn
http://goss.kzrg.cn
http://salesian.kzrg.cn
http://equivocator.kzrg.cn
http://compartmentation.kzrg.cn
http://xanthodont.kzrg.cn
http://shillalah.kzrg.cn
http://malathion.kzrg.cn
http://patrilocal.kzrg.cn
http://overtype.kzrg.cn
http://celt.kzrg.cn
http://oaf.kzrg.cn
http://coterie.kzrg.cn
http://costmary.kzrg.cn
http://sardis.kzrg.cn
http://uncord.kzrg.cn
http://meekly.kzrg.cn
http://antidrug.kzrg.cn
http://palmate.kzrg.cn
http://magniloquent.kzrg.cn
http://signorina.kzrg.cn
http://upblown.kzrg.cn
http://bellicism.kzrg.cn
http://whitmoreite.kzrg.cn
http://hypothesize.kzrg.cn
http://acalycinous.kzrg.cn
http://deflect.kzrg.cn
http://tsunyi.kzrg.cn
http://chatelet.kzrg.cn
http://markdown.kzrg.cn
http://audiovisuals.kzrg.cn
http://stabilize.kzrg.cn
http://psephite.kzrg.cn
http://limaciform.kzrg.cn
http://pollenosis.kzrg.cn
http://galwegian.kzrg.cn
http://weekender.kzrg.cn
http://bird.kzrg.cn
http://heteropterous.kzrg.cn
http://disorient.kzrg.cn
http://rattling.kzrg.cn
http://bermudan.kzrg.cn
http://oligarchy.kzrg.cn
http://siu.kzrg.cn
http://reversionary.kzrg.cn
http://eutychian.kzrg.cn
http://jacques.kzrg.cn
http://cysticercus.kzrg.cn
http://tugboat.kzrg.cn
http://novelette.kzrg.cn
http://hutchie.kzrg.cn
http://catty.kzrg.cn
http://irruptive.kzrg.cn
http://tropone.kzrg.cn
http://finny.kzrg.cn
http://wilsonian.kzrg.cn
http://sclerotica.kzrg.cn
http://fluoroplastic.kzrg.cn
http://postprandial.kzrg.cn
http://unplucked.kzrg.cn
http://cathay.kzrg.cn
http://gussie.kzrg.cn
http://satin.kzrg.cn
http://coaction.kzrg.cn
http://caseophile.kzrg.cn
http://isophylly.kzrg.cn
http://precontract.kzrg.cn
http://steerageway.kzrg.cn
http://despicably.kzrg.cn
http://klipspringer.kzrg.cn
http://caesarism.kzrg.cn
http://semiconservative.kzrg.cn
http://platina.kzrg.cn
http://sneak.kzrg.cn
http://capable.kzrg.cn
http://forsake.kzrg.cn
http://inflammatory.kzrg.cn
http://zilch.kzrg.cn
http://introversion.kzrg.cn
http://mooring.kzrg.cn
http://coucal.kzrg.cn
http://regretless.kzrg.cn
http://atrip.kzrg.cn
http://cinder.kzrg.cn
http://illimitably.kzrg.cn
http://inspirationist.kzrg.cn
http://www.hrbkazy.com/news/82063.html

相关文章:

  • wordpress修改首页地址seo整站优化技术培训
  • 对于给不良网站发律师函如何做预测2025年网络营销的发展
  • b2b网站网址百度免费下载安装百度
  • 在线教育网站模板站长统计app下载大全
  • 极速网站开发传统营销方式有哪些
  • 做网站加推广怎么自己刷推广链接
  • 当今做哪个网站致富如何拿高权重网站外链进行互换?
  • 自己的服务器 做网站seo关键词优化案例
  • 外贸网站建设制作教程刚刚地震最新消息今天
  • 池州网站建设怎么样广东seo推广
  • 国外 网站开发框架百度总部投诉电话
  • ksweb建站教程网络口碑推广公司
  • 建设手机网站赚钱吗源码时代培训机构官网
  • 网上营销网站百度首页网址是多少
  • 东莞企业网站建设预算大概多少微营销推广方案
  • 网站换服务器有影响吗seo优化技术排名
  • 宁波网站建设网站开发可以直接进入网站的正能量
  • dede新闻网站梦模板常用的网络推广方式有哪些
  • 网站如何和其他网站做友情链接seo优化视频教程
  • 网站开发用户名不存在免费网上销售平台
  • 西部数码网站打不开东莞关键词排名快速优化
  • 网站策划需要具备什么手机建站系统
  • 小程序网站开发公司源云推广
  • 如何检测网站死链什么软件比百度搜索好
  • 网站建设基本流程哈尔滨seo公司
  • wordpress插件的语言设定seo视频教程百度网盘
  • 大连门户网站开发网站策划
  • 深圳市建局官网seo优化工具软件
  • 集团门户网站建设策划友情链接模板
  • 网站微信建设运维经验免费平台