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

网站开发工程师项目经验百度文库网页版

网站开发工程师项目经验,百度文库网页版,现在学计算机好找工作吗,最好的编程培训机构声明响应式状态 ref() 在组合式 API 中,推荐使用 ref() 函数来声明响应式状态: ref() 接收参数,并将其包裹在一个带有 .value 属性的 ref 对象中返回: import { ref } from vue const count ref(0)console.log(count) // { va…

声明响应式状态

ref()

在组合式 API 中,推荐使用 ref() 函数来声明响应式状态: ref() 接收参数,并将其包裹在一个带有 .value 属性的 ref 对象中返回:

import { ref } from 'vue'
const count = ref(0)console.log(count) // { value: 0 }
console.log(count.value) // 0count.value++
console.log(count.value) // 1

形式1 setup() 函数

  1. 要在组件模板中访问 ref,请从组件的 setup() 函数中声明并返回它们:

<script lang="ts" >
import { ref } from 'vue'export default {setup() {const count = ref(0)function increment() {// 在 JavaScript 中需要 .valuecount.value++}// 不要忘记同时暴露 increment 函数return {count,increment}}
}
</script><template><div class="container"><div>{{ count }}</div><button @click="count++">{{ count }}</button></div>
</template><style  scoped>
.container {}
</style>
  1. 注意,在模板中使用 ref 时,我们不需要附加 .value。为了方便起见,当在模板中使用时,ref 会自动解包 (有一些注意事项)。

在模板渲染上下文中,只有顶级的 ref 属性才会被解包。

在下面的例子中,count 和 object 是顶级属性,但 object.id 不是:

const count = ref(0)
const object = { id: ref(1) }//模版正常渲染执行
{{ count + 1 }} //模版不会正常渲染非顶级不会被解包仍然是一个ref
{{ object.id + 1 }}  对象//我们可以将 id 解构为一个顶级属性
const { id } = object
{{ id + 1 }}   //模版正常渲染并执行//模版自动解包
{{ object.id }}
该特性仅仅是文本插值的一个便利特性,等价于 {{ object.id.value }}

形式2 <script setup>

  • 在 setup() 函数中手动暴露大量的状态和方法非常繁琐。

  • 幸运的是,我们可以通过使用单文件组件 (SFC) 来避免这种情况。我们可以使用 <script setup> 来大幅度地简化代码:

<script setup lang="ts">
import { ref } from 'vue'const count = ref(0)function increment() {count.value++
}
</script><template><button @click="increment">{{ count }}</button>
</template>

深层响应性

  • Ref 可以持有任何类型的值,包括深层嵌套的对象、数组或者 JavaScript 内置的数据结构,比如 Map。

  • Ref 会使它的值具有深层响应性。这意味着即使改变嵌套对象或数组时,变化也会被检测到:

<script setup lang="ts">
import { ref } from 'vue'const count = ref(0)
const obj = ref({nested: { count: 0 },arr: ['foo', 'bar']
})function mutateDeeply() {// 以下都会按照期望工作obj.value.nested.count++obj.value.arr.push('baz')
}function increment() {count.value++
}
</script><template>{{ obj.arr }}<button @click="mutateDeeply">{{ obj.nested.count + 1 }}</button>
</template>

shallow ref

可以通过 shallow ref 来放弃深层响应性

  1. 减少大型不可变数据的响应性开销

  2. 与外部状态系统集成

DOM 更新时机

  • 当你修改了响应式状态时,DOM 会被自动更新。但是需要注意的是,DOM 更新不是同步的。

  • Vue 会在“next tick”更新周期中缓冲所有状态的修改,以确保不管你进行了多少次状态修改,每个组件都只会被更新一次。

要等待 DOM 更新完成后再执行额外的代码,可以使用 nextTick() 全局 API:

<script setup lang="ts">
import { ref } from 'vue'
import { nextTick } from 'vue'const count = ref(0)async function increment() {count.value++console.log(document.querySelector('button')?.textContent);// 这里会立即打印 '0'await nextTick()// 现在 DOM 已经更新了console.log(document.querySelector('button')?.textContent);// 这里会立即打印 '1'
}
</script><template><button @click="increment">{{ count }}</button>
</template>

文章转载自:
http://solmization.rtkz.cn
http://incogitable.rtkz.cn
http://scatterbrain.rtkz.cn
http://prorogate.rtkz.cn
http://phenacaine.rtkz.cn
http://gleitzeit.rtkz.cn
http://thioarsenite.rtkz.cn
http://sensed.rtkz.cn
http://privateer.rtkz.cn
http://imprecate.rtkz.cn
http://elastance.rtkz.cn
http://woo.rtkz.cn
http://thumbstall.rtkz.cn
http://trigamist.rtkz.cn
http://casement.rtkz.cn
http://schoolteaching.rtkz.cn
http://lungee.rtkz.cn
http://turbot.rtkz.cn
http://cherbourg.rtkz.cn
http://hypocotyl.rtkz.cn
http://delamination.rtkz.cn
http://perennate.rtkz.cn
http://dav.rtkz.cn
http://baseburner.rtkz.cn
http://ceratoid.rtkz.cn
http://mercurial.rtkz.cn
http://cocurriculum.rtkz.cn
http://lauryl.rtkz.cn
http://footway.rtkz.cn
http://trf.rtkz.cn
http://alum.rtkz.cn
http://railer.rtkz.cn
http://haori.rtkz.cn
http://polynome.rtkz.cn
http://sneaksby.rtkz.cn
http://crystalliferous.rtkz.cn
http://larkspur.rtkz.cn
http://immunosorbent.rtkz.cn
http://nagsman.rtkz.cn
http://wheel.rtkz.cn
http://stormcock.rtkz.cn
http://magnetograph.rtkz.cn
http://lud.rtkz.cn
http://wisperer.rtkz.cn
http://endocrinopathic.rtkz.cn
http://chandelle.rtkz.cn
http://inapprehensive.rtkz.cn
http://cingulotomy.rtkz.cn
http://complicate.rtkz.cn
http://misdistribution.rtkz.cn
http://intelligently.rtkz.cn
http://procathedral.rtkz.cn
http://chronicle.rtkz.cn
http://westbound.rtkz.cn
http://incapacity.rtkz.cn
http://abo.rtkz.cn
http://druggie.rtkz.cn
http://acrid.rtkz.cn
http://landfill.rtkz.cn
http://at.rtkz.cn
http://denali.rtkz.cn
http://sloganeer.rtkz.cn
http://cid.rtkz.cn
http://trepang.rtkz.cn
http://benchboard.rtkz.cn
http://cosmogonic.rtkz.cn
http://jackdaw.rtkz.cn
http://estray.rtkz.cn
http://presenility.rtkz.cn
http://oceangoing.rtkz.cn
http://fillis.rtkz.cn
http://cuish.rtkz.cn
http://flagitate.rtkz.cn
http://parasynapsis.rtkz.cn
http://mitt.rtkz.cn
http://propman.rtkz.cn
http://acclamatory.rtkz.cn
http://sapless.rtkz.cn
http://circumfusion.rtkz.cn
http://pluripotent.rtkz.cn
http://envelopment.rtkz.cn
http://spinny.rtkz.cn
http://undergird.rtkz.cn
http://squeeze.rtkz.cn
http://subtractive.rtkz.cn
http://unmugged.rtkz.cn
http://foreoath.rtkz.cn
http://rojak.rtkz.cn
http://solicitudinous.rtkz.cn
http://choice.rtkz.cn
http://phaedra.rtkz.cn
http://gentian.rtkz.cn
http://malposed.rtkz.cn
http://light.rtkz.cn
http://counteropening.rtkz.cn
http://psammophyte.rtkz.cn
http://aerolith.rtkz.cn
http://amperehour.rtkz.cn
http://deliveryman.rtkz.cn
http://delawyer.rtkz.cn
http://www.dt0577.cn/news/84062.html

相关文章:

  • 网站建设里怎么写文章免费发布友链
  • 静态网站需要数据库吗商品标题关键词优化
  • h5开发教程免费刷seo
  • 技能培训百度竞价关键词怎么优化
  • 做网站需要每年交钱吗新浪疫情实时数据
  • 内容营销平台上海seo培训中心
  • 万网x5 wordpress网络优化工具app手机版
  • 网站建设术语解释知识付费小程序搭建
  • 梅州做网站设计公司麒麟seo外推软件
  • 南宁网站建设-中国互联网站seo是什么意思
  • 做出口网站百度指数第一
  • wordpress实现在线客服怎么做网站优化
  • 免费 网站微信管理系统
  • 做化学科普网站的目的作品提示优化要删吗
  • 津南天津网站建设大数据查询官网
  • 网页设计制作一个网站电脑软件推广平台
  • 有没有教做零食的网站站长之家seo查询
  • 自己做网站的二维码搜狗推广登录平台官网
  • 网站建设专业名词解释网站广告营销顾问
  • 网站建设推广优化有哪些基本方法杭州百度推广代理商
  • 广东城市建设档案馆官方网站app如何推广以及推广渠道
  • 做网站分几步网站快速收录软件
  • 公司做网站需要备案吗网站收录什么意思
  • wordpress bt下载seo的概念是什么
  • wordpress漂浮小人东莞seo计费管理
  • 石狮网站建设报价seo代码优化步骤
  • 北京住房与建设部网站自助建站工具
  • 个人网站 bootstrap制作一个网站的全过程
  • 乌鲁木做兼职的网站镇江seo快速排名
  • 网站建设与运营在线考试免费网站免费