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

专业网站开发哪家好百度官网推广平台电话

专业网站开发哪家好,百度官网推广平台电话,织梦做的网站怎么发布,无锡地区网站制作公司排名一、Vue2写法 1、watch使用的几种方法 1、通过 watch 监听 data 数据的变化,数据发生变化时,就会打印当前的值 watch: {data(val, value) {console.log(val)console.log(value)}} 2、通过 watch 监听 list 数据的变化,数据发生变化时&…

一、Vue2写法

1、watch使用的几种方法

1、通过 watch 监听 data 数据的变化,数据发生变化时,就会打印当前的值

 watch: {data(val, value) {console.log(val)console.log(value)}}

2、通过 watch 监听 list 数据的变化,数据发生变化时,this.number++(使用深度监听)

 data() {return {list: {'id': 1,'type': 0},number: 0}},watch: {list: {handler(newVal) {this.number++},deep: true}}

3、通过 watch 监听 data 数据的变化,数据发生变化时,执行 change 方法

 watch: {data: 'change' // 值可以为methods的方法名},methods: {change(curVal,oldVal){console.log(curVal,oldVal)}}

2、watch中的immediate、handler和deep属性

1.immediate 和 handler

  1. handler属性在watch中的作用是指定一个回调函数,在监视的数据发生变化时被调用
  2. 这样使用watch时有一个特点,就是当值第一次绑定时,不会执行监听函数,只有值发生改变时才会执行。如果我们需要在最初绑定值的时候也执行函数,则就需要用到immediate属性。
 data() {return {list: {'id': 1,'type': 0},number: 0}},watch: {list: {handler(newVal) {this.number++},immediate: true}}

2.deep深度监听

        当需要监听一个对象的改变时,普通的watch方法无法监听到对象内部属性的改变,此时就需要deep属性对对象进行深度监听

 data() {return {list: {'id': 1,'type': 0},number: 0}},watch: {list: {handler(newVal) {this.number++},deep: true}    }

        设置deep:true则可以监听到 list.id 的变化,此时会给 list 的所有属性都加上这个监听器,当对象属性较多时,每个属性值的变化都会执行 handler。如果只需要监听对象中的一个属性值,则可以做以下优化:使用字符串的形式监听对象属性:

 data() {return {list: {'id': 1,'type': 0}}},watch: {'list.id': {handler(newVal, oldVal) {......},deep: true}    }

这样只会给对象的某个特定的属性加监听器

3、总结

        数组(一维、多维)的变化不需要通过深度监听,对象数组中对象的属性变化则需要deep深度监听

二、Vue3写法

侦听一个或者多个数据的变化,数据变化时执行回调函数,俩个额外参数 immediate控制立刻执行,deep开启深度侦听

1、侦听单个数据

 <script setup>// 1. 导入watchimport { ref, watch } from 'vue'const count = ref(0)// 2. 调用watch 侦听变化watch(count, (newValue, oldValue)=>{console.log(`count发生了变化,老值为${oldValue},新值为${newValue}`)})</script>

2、侦听多个数据

侦听多个数据,第一个参数可以改写成数组的写法

 <script setup>// 1. 导入watchimport { ref, watch } from 'vue'const count = ref(0)const name = ref('cp')// 2. 调用watch 侦听变化watch([count, name], ([newCount, newName],[oldCount,oldName])=>{console.log(`count或者name变化了,[newCount, newName],[oldCount,oldName])})</script>

3、immediate属性

在侦听器创建时立即出发回调,响应式数据变化之后继续执行回调

 <script setup>// 1. 导入watchimport { ref, watch } from 'vue'const count = ref(0)// 2. 调用watch 侦听变化watch(count, (newValue, oldValue)=>{console.log(`count发生了变化,老值为${oldValue},新值为${newValue}`)},{immediate: true})</script>

4、deep(深度监听)

通过watch监听的ref对象默认是浅层侦听的,直接修改嵌套的对象属性不会触发回调执行,需要开启deep

 <script setup>// 1. 导入watchimport { ref, watch } from 'vue'const state = ref({ count: 0 })// 2. 监听对象statewatch(state, ()=>{console.log('数据变化了')})const changeStateByCount = ()=>{// 直接修改不会引发回调执行state.value.count++}</script>​<script setup>// 1. 导入watchimport { ref, watch } from 'vue'const state = ref({ count: 0 })// 2. 监听对象state 并开启deepwatch(state, ()=>{console.log('数据变化了')},{deep:true})const changeStateByCount = ()=>{// 此时修改可以触发回调state.value.count++}</script>

http://www.hrbkazy.com/news/50165.html

相关文章:

  • 个人性质网站营销型网站设计
  • 淮南建网站公司惠州百度seo找谁
  • 微信小程序注册代码广东seo推广外包
  • 在线单页网站制作北京seo软件
  • 漳州市网站建设费用百度手机助手下载2022官方正版
  • 现在互联网有什么平台可以做seo顾问公司
  • 默认web站点和默认网站一样吗十大洗脑广告
  • 二级网站怎样被百度收录大同优化推广
  • 沈阳模板建站定制竞价推广怎样管理
  • 南京网站开发南京乐识好百度问答
  • 做公司网站页面百度网页入口
  • 响应式网站建站系统seo网站优化外包
  • 广州市网站建设公司沈阳seo公司
  • 天津网站建设 易尔通推广网址
  • angular2.0网站制作企业网络营销推广方法
  • 手机网站怎么做的网站设计方案模板
  • 网站加入地图深圳网站提升排名
  • 公司网站用哪个软件做网络公司网站建设
  • 互联网三网合一网站建设二十条优化措施
  • 福州网站设计网站系统制作最好的网络营销软件
  • 自己做简单网站网络推广外包业务怎么样
  • 网站首页分辨率哪里有营销策划培训班
  • wordpress修改主题header背景色seo优化排名推广
  • 民企品牌建设排名优化哪家好
  • 网站广告用ps如何做海外seo网站推广
  • 网站建站 公司无锡个人推广app的妙招
  • 湛江公司做网站北京百度竞价
  • 网站在香港能备案吗自动点击器下载
  • 网站建设多少钱一年游戏推广员是违法的吗
  • 网站首页标题创建网站的软件