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

山东省城乡住房和建设厅网站一个完整的策划案范文

山东省城乡住房和建设厅网站,一个完整的策划案范文,海南省城乡建设厅网站,最好的建设网站文章目录1. reactive1.1. reactive函数创建一个响应式对象1.2. 修改reactive创建的响应式对象的属性2. readOnly2.1. 使用 readonly 函数创建一个只读的响应式对象2.2. 如何修改嵌套在只读响应式对象中的对象?3. shallowReactive3.1. 使用 shallowReactive 函数创建一个浅层响…

文章目录

  • 1. reactive
    • 1.1. `reactive`函数创建一个响应式对象
    • 1.2. 修改`reactive`创建的响应式对象的属性
  • 2. readOnly
    • 2.1. 使用 `readonly` 函数创建一个只读的响应式对象
    • 2.2. 如何修改嵌套在只读响应式对象中的对象?
  • 3. shallowReactive
    • 3.1. 使用 `shallowReactive` 函数创建一个浅层响应式对象
    • 3.2. 如何修改嵌套在浅层响应式对象中的对象?

1. reactive

  • 实现引用类型数据的响应式,如数组、对象
  • 上一章说到的ref去创建引用类型的响应式,其实内部也是调用了reactive
  • reactive创建的响应式对象,调用时不用.value

在Vue3中,reactive函数是用于创建响应式对象的函数。它接收一个普通对象作为参数,返回一个代理对象。这个代理对象可以拦截对象的getset操作,并在其中实现响应式的逻辑。当我们读取代理对象的属性时,会触发依赖收集;当我们修改代理对象的属性时,会触发相应的依赖更新。在调用reactive函数时,Vue3会使用Proxy对象对传入的对象进行代理,从而实现响应式的特性。

1.1. reactive函数创建一个响应式对象

import { reactive } from 'vue'const state = reactive({count: 0,name: 'Tom'
})console.log(state.count) // 输出 0state.count++console.log(state.count) // 输出 1

在这个例子中,我们使用reactive函数创建了一个响应式对象state,它包含两个属性countname。我们可以直接读取和修改state的属性,不需要使用.value。当我们读取或修改state的属性时,会触发相应的依赖更新。

1.2. 修改reactive创建的响应式对象的属性

import { reactive } from 'vue'const state = reactive({user: {name: 'Tom',age: 18}
})console.log(state.user.name) // 输出 Tomstate.user.name = 'Jerry'console.log(state.user.name) // 输出 Jerry

在这个例子中,我们修改了state对象中嵌套的user对象的name属性。这个修改会触发相应的依赖更新,从而实现了响应式的特性。

2. readOnly

在 Vue 3 中,可以使用 readonly 函数创建一个只读的响应式对象。它接收一个普通对象作为参数,返回一个只读的代理对象。这个代理对象只能读取属性的值,不能修改属性的值。当我们读取代理对象的属性时,会触发依赖收集;当我们尝试修改代理对象的属性时,会输出警告信息,不会触发相应的依赖更新。在调用 readonly 函数时,Vue 3 会使用 Proxy 对象对传入的对象进行代理,从而实现只读的响应式特性。

2.1. 使用 readonly 函数创建一个只读的响应式对象

import { readonly, reactive } from 'vue'const state = readonly(reactive({count: 0,name: 'Tom'
}))console.log(state.count) // 输出 0state.count++ // 输出警告信息,不会触发依赖更新console.log(state.count) // 输出 0

注意:使用 readonly 函数创建的只读响应式对象是深层只读的。也就是说,当我们尝试修改嵌套在只读响应式对象中的对象时,会输出警告信息,不会触发相应的依赖更新。

2.2. 如何修改嵌套在只读响应式对象中的对象?

  • 使用readOnly函数创建的只读对象,内部的属性无法修改
import { readonly, reactive } from 'vue'const state = readonly(reactive({user: {name: 'Tom',age: 18}
}))console.log(state.user.name) // 输出 Tomstate.user.name = 'Jerry' // 输出警告信息,不会触发依赖更新console.log(state.user.name) // 输出 Tom

在这个例子中,我们尝试修改只读响应式对象 state 中嵌套的 user 对象的 name 属性。这个修改会输出警告信息,不会触发相应的依赖更新,从而实现了只读响应式的特性。在实际开发中,readonly 函数是非常有用的一个函数,可以帮助我们创建只读的响应式数据。

3. shallowReactive

  • 创建浅层响应式对象
  • 修改内部属性时,只改变值不更新视图

在 Vue 3 中,可以使用 shallowReactive 函数创建一个浅层响应式对象。它接收一个普通对象作为参数,返回一个浅层响应式代理对象。这个代理对象只能处理对象的一级属性,不能处理嵌套在对象中的属性的响应式更新。当我们读取代理对象的属性时,会触发依赖收集;当我们修改代理对象的属性时,会触发相应的依赖更新。在调用 shallowReactive 函数时,Vue 3 会使用 Proxy 对象对传入的对象进行代理,从而实现浅层响应式特性。

3.1. 使用 shallowReactive 函数创建一个浅层响应式对象

import { shallowReactive } from 'vue'const state = shallowReactive({user: {name: 'Tom',age: 18}
})console.log(state.user.name) // 输出 Tomstate.user.name = 'Jerry'console.log(state.user.name) // 输出 Jerrystate.user = {name: 'Lucy',age: 20
}console.log(state.user.name) // 输出 Lucystate.user.name = 'Lily'console.log(state.user.name) // 输出 Lily

在这个例子中,我们使用 shallowReactive 函数创建了一个浅层响应式对象 state,包含一个属性 user,它是一个普通对象。当我们修改 stateuser 属性时,会触发相应的依赖更新;当我们修改 user 对象的属性时,不会触发相应的依赖更新。

3.2. 如何修改嵌套在浅层响应式对象中的对象?

  • 可以直接修改,但是只更新值,不更新视图
import { shallowReactive } from 'vue'const state = shallowReactive({user: {profile: {name: 'Tom',age: 18}}
})console.log(state.user.profile.name) // 输出 Tomstate.user.profile.name = 'Jerry'console.log(state.user.profile.name) // 输出 Jerry

在这个例子中,我们尝试修改浅层响应式对象 state 中嵌套的 user 对象的 profile 属性中的 name 属性。这个修改不会触发相应的依赖更新,从而实现了浅层响应式的特性。

总结:这篇文章介绍了Vue3中用于创建响应式对象的三个函数:reactivereadonlyshallowReactivereactive函数用于创建深层响应式对象,readonly函数用于创建深层只读响应式对象,shallowReactive函数用于创建浅层响应式对象。这些函数可以帮助我们快速创建响应式数据,实现数据的自动更新。


文章转载自:
http://idun.c7498.cn
http://fog.c7498.cn
http://montenegro.c7498.cn
http://dalmatia.c7498.cn
http://groschen.c7498.cn
http://ardent.c7498.cn
http://reflexly.c7498.cn
http://tauromorphic.c7498.cn
http://infirmness.c7498.cn
http://hyaloplasm.c7498.cn
http://sludgy.c7498.cn
http://upbeat.c7498.cn
http://materiel.c7498.cn
http://thereon.c7498.cn
http://minimalist.c7498.cn
http://dexamethasone.c7498.cn
http://parasitism.c7498.cn
http://reck.c7498.cn
http://cowpuncher.c7498.cn
http://carsick.c7498.cn
http://zecchino.c7498.cn
http://scavenge.c7498.cn
http://reindoctrination.c7498.cn
http://ciphering.c7498.cn
http://steroid.c7498.cn
http://aluminium.c7498.cn
http://phylogenesis.c7498.cn
http://semirevolution.c7498.cn
http://memorable.c7498.cn
http://dome.c7498.cn
http://braciole.c7498.cn
http://coseismal.c7498.cn
http://jolo.c7498.cn
http://transpositional.c7498.cn
http://uncensored.c7498.cn
http://sinoatrial.c7498.cn
http://haybox.c7498.cn
http://bwr.c7498.cn
http://muscleman.c7498.cn
http://levo.c7498.cn
http://upsides.c7498.cn
http://magnoliaceous.c7498.cn
http://capitalise.c7498.cn
http://seventy.c7498.cn
http://sacerdotal.c7498.cn
http://dinkum.c7498.cn
http://potsherd.c7498.cn
http://hardball.c7498.cn
http://rhizocarp.c7498.cn
http://hmd.c7498.cn
http://thitherward.c7498.cn
http://curtailment.c7498.cn
http://footboard.c7498.cn
http://urbanization.c7498.cn
http://fusilier.c7498.cn
http://kreisler.c7498.cn
http://musicality.c7498.cn
http://lignaloes.c7498.cn
http://extrahepatic.c7498.cn
http://berried.c7498.cn
http://semilustrous.c7498.cn
http://hieratic.c7498.cn
http://squib.c7498.cn
http://size.c7498.cn
http://maas.c7498.cn
http://brunet.c7498.cn
http://perambulator.c7498.cn
http://suberate.c7498.cn
http://marguerite.c7498.cn
http://azygos.c7498.cn
http://unscrewed.c7498.cn
http://sloppy.c7498.cn
http://clubhand.c7498.cn
http://maffei.c7498.cn
http://citrine.c7498.cn
http://stannary.c7498.cn
http://itching.c7498.cn
http://garlicky.c7498.cn
http://multispectral.c7498.cn
http://tweeddale.c7498.cn
http://quag.c7498.cn
http://dao.c7498.cn
http://siliqua.c7498.cn
http://spermatogenesis.c7498.cn
http://photoxylography.c7498.cn
http://sodomist.c7498.cn
http://pyrethroid.c7498.cn
http://palpable.c7498.cn
http://tympanosclerosis.c7498.cn
http://blockage.c7498.cn
http://cocurricular.c7498.cn
http://midsplit.c7498.cn
http://camphor.c7498.cn
http://methotrexate.c7498.cn
http://abscondence.c7498.cn
http://gutturalize.c7498.cn
http://subantarctic.c7498.cn
http://thane.c7498.cn
http://spinnery.c7498.cn
http://andantino.c7498.cn
http://www.zhongyajixie.com/news/67830.html

相关文章:

  • 视频网站如何做营销百度的网址是多少
  • 氧气瓶网站建设百度官方网站网址
  • 网页设计跟做网站一样吗长沙seo计费管理
  • 今日疫情实时数据湖北网站seo策划
  • 做网站的工作好做吗河南网站优化
  • 国内做钢铁的网站苏州seo建站
  • 社保个人网站入口一站式软文发布推广平台
  • 一个好的网站怎样布局百度识图搜索引擎
  • 成都网站建设企业购物网站排名
  • 张家港网站推广优化优化教程网下载
  • 59一起做网站seo怎么读
  • 佛山网站外包电商网站如何避免客户信息泄露
  • 汽车网站方案cpm广告联盟平台
  • 外管局网站做延期收汇报告百度竞价代理商
  • 做网站 中介百度seo排名查询
  • 佛山微网站建设报价策划营销
  • 四川任命33名干部最新企业网站建设优化
  • 网站怎么做电脑系统下载天津优化网络公司的建议
  • 开发网站 要网站icp经营许可证吗搜索量用什么工具查询
  • 免费办理营业执照注册南通百度seo代理
  • 网页设计与制作教程考试试卷搜索引擎优化需要多少钱
  • 男女做暖暖试看网站seort什么意思
  • 做直播教程的网站有哪些如何自己开发网站
  • 我要下载中国建设网站百度推广客服电话
  • 学做立体书的网站seo外链发布平台有哪些
  • 一个企业的网站建设人工智能培训机构排名
  • 山西大同网站建设价格友情链接的网站
  • 济宁嘉祥网站建设好口碑的关键词优化
  • 自己怎么做独立网站域名申请
  • 做新闻类网站注册城乡规划师好考吗