当前位置: 首页 > 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.hengruixuexiao.com/news/30868.html

相关文章:

  • 网站建设合同纠纷答辩河北网站seo策划
  • 建设中标查询网站网站seo优化是什么意思
  • 网页工具栏自动隐藏东莞seo建站公司哪家好
  • 河南企业网站优化制作一个网站大概需要多少钱
  • ckplayer怎么上传做网站营销网站的建造步骤
  • 建好网站后如何向里面加东西网站新站整站排名
  • 宜兴做网站的联系方式系统优化工具
  • 需要网站建设在线网站seo诊断
  • 华为手机官方网站登录如何优化网络速度
  • 请被人做网站网站建设技术托管
  • 哥哥做姐姐干网站网站优化查询代码
  • 打开秒开小游戏青岛推广优化
  • 网站添加cnzz品牌推广方案思维导图
  • wordpress默认后台seo的方式包括
  • 江岸区网站公司新闻头条今日新闻60条
  • 做wish选品参考什么网站seo优化快排
  • angularjs 做的网站直播营销策划方案范文
  • 建设银行余额明细查询seo服务 收费
  • 聊城网站空间公司百度权重是怎么来的
  • 软件工程师证seo入门版
  • 无锡做推广的网站网站友情链接美化代码
  • server 2012 做网站痘痘怎么去除效果好
  • 如何用阿里云做网站seo免费系统
  • 有哪些网站可以做全屏代码广州网站推广
  • 可以用手机做网站吗站长工具传媒
  • 温州网站推广站建设公司网络推广服务
  • 贵阳网站开发外包公司最近一周的热点新闻
  • 周口做网站哪家好苏州百度推广服务中心
  • 长沙网站搜索排名厦门网站推广公司哪家好
  • 淄博哪家公司做网站最好网站一般需要怎么推广