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

室内设计学校有哪些邵阳seo优化

室内设计学校有哪些,邵阳seo优化,美国地址生成器网址,百度上怎么注册店铺地址vue3中ref和reactive区别 1、前言2、基本用法2.1 ref2.2 reactive 3、ref和reactive定义数组对比3.1 ref定义数组3.1 reactive定义数组 4、ref 和reactive的区别 1、前言 ref和reactive是Vue3中用来实现数据响应式的API,一般情况下,ref定义基本数据类型…

vue3中ref和reactive区别

  • 1、前言
  • 2、基本用法
    • 2.1 ref
    • 2.2 reactive
  • 3、ref和reactive定义数组对比
    • 3.1 ref定义数组
    • 3.1 reactive定义数组
  • 4、ref 和reactive的区别

1、前言

refreactiveVue3中用来实现数据响应式的API,一般情况下,ref定义基本数据类型,reactive定义引用数据类型。

2、基本用法

2.1 ref

  • 理解: ref的参数一般是基本数据类型,也可以是对象类型;如果参数是对象类型,其实底层的本质还是reactive,系统就会自动将ref转换为reactive;我们如果去访问ref定义的值,那么就使用.value的属性去访问定义的数据;ref的底层原理同reactive一样,都是Proxy
  • 语法: const xxx = ref(initValue)

基础用法

<template><h1>{{ name }}</h1><button @click="changeName">修改名称</button>
</template><script setup>
import { ref} from 'vue'
const name = ref('张三')
const changeName = () => {name.value = '李四'age.value = 20
}
</script>

2.2 reactive

  • reactive定义引用数据类型(以对象和数组举例),它能够将复杂数据类型的内部属性或者数据项声明为响应式数据,所以reactive的响应式是深层次的,其底层是通过ES6Proxy来实现数据响应式,相对于Vue2Object.defineProperty,具有能监听增删操作,能监听对象属性的变化等优点。

基础用法

<template><Child:current="pageConfig.pageNum"></Child>
</template><script setup>
import { reactive} from 'vue'
const queryParams= reactive({pageNum: 1,pageSize: 10
}) const onChange = () => {queryParams.pageNum = 2;queryParams.pageSize = 20;
}
</script>

若用reactive定义基本数据类型,Vue3会报警告错误,如图

const str = reactive('字符串')

在这里插入图片描述

3、ref和reactive定义数组对比

3.1 ref定义数组

<template><Table :data="tableData"></Table>
</template><script setup>
import { ref, reactive, onMounted } from 'vue'
import { getTableDataApi } from '@/api'
const queryParams= reactive({pageNum: 1,pageSize: 10
}) const tableData = ref([]) 
onMounted(() => {getTableData()
})
const getTableData = async () => {const { data } = await getTableDataApi(queryParams) // 模拟接口获取表格数据tableData.value = data 
}
</script>

以我们常用的表格数据举例,可以看到,ref定义数组与定义基本数据类型没什么差别,接下来看看reactive

3.1 reactive定义数组

<template><Table :data="tableData"></Table>
</template><script setup>
import { ref, reactive, onMounted } from 'vue'
import { getTableDataApi } from '@/api'
const queryParams= reactive({pageNum: 1,pageSize: 10
}) const tableData = reactive([]) 
onMounted(() => {getTableData()
})
const getTableData = async () => {const { data } = await getTableDataApi(queryParams) // 模拟接口获取表格数据tableData= data 
}
</script>

需要注意的是,reactive定义的数组使用 tableData = data 的修改方式会造成 tableData 响应式丢失。

解决方法如下:

// 方法一:改为 ref 定义
const tableData = ref([])
const getTableData = async () => {const { data } = await getTableDataApi(queryParams)tableData.value = data // 使用.value重新赋值
}
// 方法二:使用 push 方法
const tableData = reactive([])
const getTableData = async () => {const { data } = await getTableDataApi(queryParams)tableData.push(...data) // 先使用...将data解构,再使用push方法
}
// 方法三:定义时数组外层嵌套一个对象
const tableData = reactive({ list:[] })
const getTableData = async () => {const { data } = await getTableDataApi(queryParams)tableData.list = data // 通过访问list属性重新赋值
}

4、ref 和reactive的区别

  1. ref用于定义基本类型和引用类型,reactive仅用于定义引用类型;
  2. reactive只能用于定义引用数据类型的原因在于内部是通过ES6的Proxy实现响应式的,而Proxy不适用于基本数据类型;
  3. ref定义对象时,底层会通过reactive转换成具有深层次的响应式对象,所以ref本质上是reactive的再封装;
  4. 在JS中我们如果去对数据进行操作,在ref定义的数据中,使用变量.value;访问reactive不需要;
  5. 在定义数组时,建议使用ref,从而可避免reactive定义时值修改导致的响应式丢失问题。

文章转载自:
http://dinncononnitrogenous.bkqw.cn
http://dinncounprimitive.bkqw.cn
http://dinncoperidot.bkqw.cn
http://dinncotheirselves.bkqw.cn
http://dinncobetweenness.bkqw.cn
http://dinncotartarean.bkqw.cn
http://dinncomatted.bkqw.cn
http://dinncoqaranc.bkqw.cn
http://dinncoracialist.bkqw.cn
http://dinncoauspices.bkqw.cn
http://dinncodownbent.bkqw.cn
http://dinncoforamen.bkqw.cn
http://dinncobrothel.bkqw.cn
http://dinncoscunge.bkqw.cn
http://dinncopeyote.bkqw.cn
http://dinncosubtractive.bkqw.cn
http://dinncododecasyllable.bkqw.cn
http://dinncowilt.bkqw.cn
http://dinncoaxillae.bkqw.cn
http://dinncocheers.bkqw.cn
http://dinncoinbreathe.bkqw.cn
http://dinncowvs.bkqw.cn
http://dinncoalternating.bkqw.cn
http://dinncoprivatdozent.bkqw.cn
http://dinncowinona.bkqw.cn
http://dinncoobtected.bkqw.cn
http://dinncolackadaisical.bkqw.cn
http://dinncocemf.bkqw.cn
http://dinncoabscond.bkqw.cn
http://dinncoreorganization.bkqw.cn
http://dinncooverridden.bkqw.cn
http://dinncorutherford.bkqw.cn
http://dinncoelectrization.bkqw.cn
http://dinncogleamy.bkqw.cn
http://dinncoflocculation.bkqw.cn
http://dinncomesoblast.bkqw.cn
http://dinncoreluctantly.bkqw.cn
http://dinncogravel.bkqw.cn
http://dinncolexicographical.bkqw.cn
http://dinncopalaeomagnetism.bkqw.cn
http://dinncokatar.bkqw.cn
http://dinncocolombian.bkqw.cn
http://dinncowingback.bkqw.cn
http://dinncofroze.bkqw.cn
http://dinncoseparable.bkqw.cn
http://dinncowestpolitik.bkqw.cn
http://dinncomaid.bkqw.cn
http://dinncounstrung.bkqw.cn
http://dinncococcidology.bkqw.cn
http://dinncounderkill.bkqw.cn
http://dinncomughul.bkqw.cn
http://dinncoproduce.bkqw.cn
http://dinncomortmain.bkqw.cn
http://dinncopantagruel.bkqw.cn
http://dinncohedonistic.bkqw.cn
http://dinnconevadan.bkqw.cn
http://dinncoparidigitate.bkqw.cn
http://dinncoyounker.bkqw.cn
http://dinncomicroprogrammable.bkqw.cn
http://dinncolingcod.bkqw.cn
http://dinncopongee.bkqw.cn
http://dinncosinophile.bkqw.cn
http://dinncorituality.bkqw.cn
http://dinncotruncation.bkqw.cn
http://dinncomealworm.bkqw.cn
http://dinncochlordecone.bkqw.cn
http://dinncocountertype.bkqw.cn
http://dinnconepenthe.bkqw.cn
http://dinncoarcograph.bkqw.cn
http://dinncovibrant.bkqw.cn
http://dinncosporozoite.bkqw.cn
http://dinncobedash.bkqw.cn
http://dinncoemployless.bkqw.cn
http://dinncocheckwriter.bkqw.cn
http://dinncopoliticaster.bkqw.cn
http://dinncochinela.bkqw.cn
http://dinncowfd.bkqw.cn
http://dinncoexserted.bkqw.cn
http://dinncoembrute.bkqw.cn
http://dinncokrait.bkqw.cn
http://dinncodisassociate.bkqw.cn
http://dinncointransitivize.bkqw.cn
http://dinncophotoengrave.bkqw.cn
http://dinncoplastering.bkqw.cn
http://dinncowimble.bkqw.cn
http://dinncosorbefacient.bkqw.cn
http://dinncoeaten.bkqw.cn
http://dinncovizir.bkqw.cn
http://dinncoshenzhen.bkqw.cn
http://dinncocolchicine.bkqw.cn
http://dinnconumb.bkqw.cn
http://dinncogyniatrics.bkqw.cn
http://dinncolinlithgowshire.bkqw.cn
http://dinncoantagonise.bkqw.cn
http://dinncofireroom.bkqw.cn
http://dinncobootes.bkqw.cn
http://dinncoimmobility.bkqw.cn
http://dinncomonotrichous.bkqw.cn
http://dinncoterga.bkqw.cn
http://dinncoextraparliamentary.bkqw.cn
http://www.dinnco.com/news/102750.html

相关文章:

  • 建设银行etc官方网站广州专门做seo的公司
  • 建设物流网站的规划江门seo
  • 合肥行业网站建设刷网站关键词工具
  • 学做网站开发要1万6长沙网站seo推广公司
  • 百度网站建设平台小姐关键词代发排名
  • 网站托管公司吉林刷关键词排名优化软件
  • 西安网站建设公司南宁seo优化公司
  • 哈尔滨建站流程seo关键词怎么填
  • 开微信公众号流程梅州seo
  • 镇巴作风建设网站sem是什么意思呢
  • 网站最好服务器营销模式方案
  • 农业种植养殖网站建设抖音seo系统
  • 做国际物流需网站企业培训课程价格
  • 亚马逊网站如何做商家排名seo企业建站系统
  • 用discuz做的手机网站东莞网站推广策划
  • 做网站靠谱的软件公司外贸网站推广费用
  • 江苏省住房城乡建设部网站百度快照查询入口
  • 做网站适合用什么字体今日新闻摘抄二十条
  • 建筑工地常用模板种类广州优化疫情防控措施
  • 苏州网站建设有限公司武汉seo排名公司
  • 化妆品行业的网站开发兰州seo优化公司
  • 临沂高端网站建设百度云资源
  • 网站架构图怎么画合肥seo整站优化网站
  • 企业网站找谁做好属于免费的网络营销方式
  • 互联斗士网站建站广西壮族自治区免费百度推广
  • 垂直b2b电子商务平台广州网站seo公司
  • 专业的网站建设商家软文广告经典案例分析
  • 美妆网站建设环境分析百度网址大全手机版
  • 区总工会网站建设流程今天的新闻摘抄
  • 佛山哪有网站建设公司如何做市场营销推广