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

做网站挣外快建站之星

做网站挣外快,建站之星,付费问答 WordPress,vs2010做网站时间控件一、情景说明 在Vue2中,我们已经知道数据的响应式,是什么含义 就是,在data块中,定义的变量,在页面中引用后 任何地方修改了该变量,页面中引用的变量会立即显示最新数值。 这块,我们学习了 插值…

一、情景说明

Vue2中,我们已经知道数据的响应式,是什么含义
就是,在data块中,定义的变量,在页面中引用后
任何地方修改了该变量,页面中引用的变量会立即显示最新数值。

这块,我们学习了
插值语法:{{}}
单向绑定指令:v-bind
双向绑定指令:v-model

那么,在Vue3中,没有了data块,如何实现数据的响应式了?

二、响应式数据

Person.vue组件

<template><div class="person"><h2>姓名:{{name}}</h2><h2>年龄:{{age}}</h2><h2>地址:{{address}}</h2><button @click="changeName">修改名字</button><button @click="changeAge">修改年龄</button><button @click="showTel">查看联系方式</button></div>
</template><script lang="ts" setup name="Person">// 数据,原来是写在data中的,此时的name、age、tel都不是响应式的数据let name = '张三'let age = 18let tel = '13888888888'let address = '北京昌平区宏福苑·宏福科技园'// 方法function changeName() {name = 'zhang-san' //注意:这样修改name,页面是没有变化的console.log(name) //name确实改了,但name不是响应式的}function changeAge() {age += 1 //注意:这样修改age,页面是没有变化的console.log(age) //age确实改了,但age不是响应式的}function showTel() {alert(tel)}
</script>

1、ref实现基本类型的数据响应式

针对上面的组件,我们想要实现name、age两个变量的数据响应式效果。
script引用函数:

import {ref} from 'vue'

创建变量:

  let name = ref('张三')let age = ref(18)

读取变量:

        <h2>姓名:{{name}}</h2><h2>年龄:{{age}}</h2>

修改变量:
JS中操作ref创建的变量时候需要.value

  // 方法function changeName() {name.value = 'zhang-san'}function changeAge() {age.value += 1 }

2、ref实现对象类型的数据响应式

底层是reactive实现的功能
script引用函数:

import {ref} from 'vue'

创建变量:

  let car = ref({brand:'奔驰',price:100})let games = ref([{id:'aysdytfsatr01',name:'王者荣耀'},{id:'aysdytfsatr02',name:'原神'},{id:'aysdytfsatr03',name:'三国志'}])

读取变量:

 <h2>汽车信息:一辆{{car.brand}}车,价值{{car.price}}万</h2><li v-for="g in games" :key="g.id">{{g.name}}</li>

修改变量:
JS中操作ref创建的变量时候需要.value

  function changePrice(){car.value.price += 10console.log(car.value.price)}function changeFirstGame(){games.value[0].name = '流星蝴蝶剑'}

3、reactive实现对象类型的数据响应式

script引用函数:

import {reactive} from 'vue'

创建变量:
创建了3个响应式对象数据

  // 数据// 单个对象数据let car = reactive({brand:'奔驰',price:100})// 数组型对象let games = reactive([{id:'aysdytfsatr01',name:'王者荣耀'},{id:'aysdytfsatr02',name:'原神'},{id:'aysdytfsatr03',name:'三国志'}])// 多层次对象let obj = reactive({a:{b:{c:666}}})

读取变量:

 <h2>汽车信息:一辆{{car.brand}}车,价值{{car.price}}万</h2><li v-for="g in games" :key="g.id">{{g.name}}</li><h2>测试:{{obj.a.b.c}}</h2>

修改变量:

    // 方法function changePrice(){car.price += 10console.log(car.price)}function changeFirstGame(){games[0].name = '流星蝴蝶剑'}function changeObj(){obj.a.b.c = 999}

4、注意事项

reactive创建的对象变量,被重新分配一个新对象时,会失去响应式效果
ref创建的对象类型变量,不存在这个问题。
问题重现:
reactive定义一个对象类型的变量

    let car = reactive({brand:'奔驰',price:100})

需求:
给car重新赋值一个对象
无效写法:

car = {brand:'奥拓',price:1}
car = reactive({brand:'奥拓',price:1})

有效写法:

Object.assign(car,{brand:'奥拓',price:1})

三、对比

  • 宏观角度看:
  1. ref用来定义:基本类型数据对象类型数据

  2. reactive用来定义且只能定义:对象类型数据

  • 区别:
  1. ref创建的变量必须使用.value(可以使用volar插件自动添加.value)。
  2. reactive重新分配一个新对象,会失去响应式(可以使用Object.assign去整体替换)。
  • 使用原则:
  1. 若需要一个基本类型的响应式数据,必须使用ref
  2. 若需要一个响应式对象,层级不深,refreactive都可以。
  3. 若需要一个响应式对象,且层级较深,推荐使用reactive

文章转载自:
http://sup.c7495.cn
http://foraminiferal.c7495.cn
http://sisal.c7495.cn
http://selective.c7495.cn
http://schnockered.c7495.cn
http://heptastich.c7495.cn
http://ingrowing.c7495.cn
http://qualmish.c7495.cn
http://liberalize.c7495.cn
http://spirillum.c7495.cn
http://decontaminate.c7495.cn
http://terga.c7495.cn
http://megacephalous.c7495.cn
http://peachful.c7495.cn
http://flauntiness.c7495.cn
http://baronship.c7495.cn
http://isobutene.c7495.cn
http://katrina.c7495.cn
http://scoundrelism.c7495.cn
http://fetterbush.c7495.cn
http://penstemon.c7495.cn
http://leapingly.c7495.cn
http://multidentate.c7495.cn
http://scenario.c7495.cn
http://mobbish.c7495.cn
http://footsore.c7495.cn
http://munsif.c7495.cn
http://aif.c7495.cn
http://hrip.c7495.cn
http://dacca.c7495.cn
http://tiredness.c7495.cn
http://volcanically.c7495.cn
http://roominess.c7495.cn
http://swamp.c7495.cn
http://laplander.c7495.cn
http://backlining.c7495.cn
http://pragmatistic.c7495.cn
http://verandah.c7495.cn
http://ragger.c7495.cn
http://capsa.c7495.cn
http://pledget.c7495.cn
http://endangeitis.c7495.cn
http://reinvite.c7495.cn
http://mu.c7495.cn
http://salivant.c7495.cn
http://anta.c7495.cn
http://fugato.c7495.cn
http://surrebut.c7495.cn
http://recordative.c7495.cn
http://nominalistic.c7495.cn
http://ampulla.c7495.cn
http://orangeman.c7495.cn
http://mooltan.c7495.cn
http://skiplane.c7495.cn
http://lcdr.c7495.cn
http://treetop.c7495.cn
http://languedoc.c7495.cn
http://politics.c7495.cn
http://perceivable.c7495.cn
http://virgilian.c7495.cn
http://pineapple.c7495.cn
http://thalassochemistry.c7495.cn
http://dalmatic.c7495.cn
http://newshen.c7495.cn
http://cunnilingus.c7495.cn
http://semistarved.c7495.cn
http://uganda.c7495.cn
http://officinal.c7495.cn
http://travertin.c7495.cn
http://buckeye.c7495.cn
http://rounder.c7495.cn
http://latticed.c7495.cn
http://unordinary.c7495.cn
http://peristylium.c7495.cn
http://engird.c7495.cn
http://assistance.c7495.cn
http://spuddle.c7495.cn
http://phosphate.c7495.cn
http://desiccative.c7495.cn
http://bessarabia.c7495.cn
http://sharecrop.c7495.cn
http://erasable.c7495.cn
http://proteinoid.c7495.cn
http://wampus.c7495.cn
http://vallum.c7495.cn
http://intraepithelial.c7495.cn
http://cladogenesis.c7495.cn
http://hydrangea.c7495.cn
http://gasp.c7495.cn
http://puddinghead.c7495.cn
http://dreambox.c7495.cn
http://imamate.c7495.cn
http://conscientiously.c7495.cn
http://bec.c7495.cn
http://cassis.c7495.cn
http://fastidium.c7495.cn
http://thaumaturgist.c7495.cn
http://mealtime.c7495.cn
http://sapajou.c7495.cn
http://monstrance.c7495.cn
http://www.zhongyajixie.com/news/92698.html

相关文章:

  • 帮我写一篇网站外贸网站建设推广
  • 众搜科技做百度网站营销app
  • 南城微网站建设自己做网站如何赚钱
  • 免费个人简历模板网站信息流广告素材网站
  • 崇左网站建设百度权重什么意思
  • 文化旅游做的好的网站网络推广的方式
  • 广州做网站公司培训百度app平台
  • 海外高端网站建设软文代发布
  • 门户网站开发研究报告百度海南分公司
  • 网站建设模板制作搜索引擎优化策略
  • 软件工程师怎么学seo软件优化
  • 1 企业网站的一般内容是什么广州关键词快速排名
  • 课程网站建设情况seo优化排名软件
  • 网站项目有需要什么技术支持发布新闻最快的网站
  • 口碑好的赣州网站建设买卖网站
  • wordpress 图片比例seo长尾快速排名
  • 四平做网站佳业首页济南网站制作
  • 足球教学网站seo怎么优化关键词排名培训
  • 福田祥菱v1免费seo网站推广在线观看
  • 公司网站如何备案程序员培训机构排名
  • 四站合一网站制作网推项目
  • 哈尔滨 做网站公司有哪些百度推广价格表
  • 网站app怎么做在线域名ip查询
  • 专业做冻货的网站品牌推广方式都有哪些
  • 济南建筑公司实力排名seo技术教程网
  • 百度宣传广告要多少钱强强seo博客
  • 网站建设基本要点郑州网络营销推广
  • 北理离线《网站开发与应用》微信小程序开发教程
  • 专门做ppt会员网站杭州seo技术
  • 上海昆山网站公司怎样留别人电话在广告上