首页 > 其他分享 >vue watch deep 用法

vue watch deep 用法

时间:2023-06-14 13:23:03浏览次数:39  
标签:vue obj age watch deep times newVal

简单案例

<template>
    <div>
        <h1>watch deep</h1>
        <p>obj:{{obj}}</p>
        <p>调用watch次数:{{times}}</p>
        <button @click="chgObj">改变对象</button>
    </div>
</template>
<script>
export default {
    data(){
        return {
            obj:{
                name:'张三',
                age:19
            },
            times:0
        }
    },
    created(){

    },
    methods:{
        chgObj(){
            this.obj.age++;// 修改对象内部属性,如果没有deep不会处罚回调函数
            // this.obj = {// 修改整个对象,没有deep设置,也会触发watch
            //     name : "李四",
            //     age: 22
            // }
        }
    },
    watch:{
        obj:{
            handler(newVal,oldVal){
                console.log(`旧的:${JSON.stringify(oldVal)},新的:${JSON.stringify(newVal)}`);
                this.times++;
            },
            deep:true
        }
    }
}
</script>

标签:vue,obj,age,watch,deep,times,newVal
From: https://www.cnblogs.com/pansidong/p/17479926.html

相关文章

  • Vue3中循环任务优化方案
    需求在使用循环任务时,往往需要使用到setInterval方法。其接受三个参数,分别是1.具体执行的函数2.执行时间间隔3.传递个函数的参数,并返回一个id,后续可以使用这个id来停止循环的执行。具体的使用可以查阅MDN。在实际开发中,很容易重复创建相同的interval实例,进行反复的执行,并且在......
  • Vue.js 组件基础 #yyds干货盘点#【yyds干货盘点】
    学习目录:Vue.js简介Vue.js实例与数据绑定Vue.js计算属性和侦听器Vue.js条件渲染和列表渲染Vue.js事件处理Vue.js表单输入绑定Vue.js组件基础Vue.js组件通信Vue.js插槽Vue.js动态组件和异步组件Vue.js自定义指令Vue.js过渡和动画Vue.js混入Vue.js自定义事件和v-model......
  • VUE游戏开发:使用Box2D模拟球体的飞行和撞击特效
    本节,我们将利用Box2d引擎在页面中实现球体飞行和撞击效果。在现实中我们向外抛出一个球时,它在重力加速度的情况下会飞出一个弧线,撞到物体后它会反弹折射,我们利用Box2D可以在页面里模拟这些特性。我们将在页面里绘制一个小球,然后设置一些障碍物,我们用鼠标控制小球向外抛出的方向,小球......
  • VUE+WebPack游戏设计:'乘法防线'游戏设计
    从本节开始,我们进入新的游戏设计阶段。本次游戏设计,我们需要使用html5专有的canvas,也就是画布对象。同时为了便于在canvas上绘制图案,我们引入一个第三方库叫做CreateJS,它能帮我们管理在canvas上绘制的各种图形。乘法防线的游戏目的是为了帮助小学生学习乘法运算法则。游戏的主要内......
  • 转:Vue项目解决跨域
    Vue项目解决跨域  使用vue配置代理服务器解决跨域连接 Vue·修改启动端口   ......
  • Vue-router跳转和location.href有什么区别
    vue-router使用pushStat进行路由更新,不刷新页面,静态跳转;使用diff算法,按需加载,减少dom操作,同一个页面跳转或者路由跳转异步加载this.$nextTick(()=>{获取url})使用location.href来跳转,简单方便,但是刷新了页面;不同页面间跳转可以直接获取当前路径......
  • Vue项目首页实战 - 父子组组件间传值
    1cityHome.vue新增一个属性:<template><div><home-header:city="city"></home-header><home-swiper></home-swiper><home-icons></home-icons><home-recommend></home-recommend......
  • vuex基础语法
    //importVuexfrom"vuex";//importVuefrom"vue";//Vue.use(Vuex);///*//vuex作用:数据共享//用法:在store新建一个js文件;newVuex.Store//方法://state:初始状态数据//mutations:监控数据的变化//流程:state仓库---UI---mutations(提交方法:commit)//注意:必须......
  • vue实现子父组件之间通信
    <template><div><button@click="handleClick":disabled="isLoading">{{isLoading?"loading":"submit"}}</button><divclass="err">......
  • vue事件总线
    //事件总线:类似于单独对于一个功能的处理。组件间通信的方式;适用于任意组件间通信//exportdefault{////监控事件//$on(eventName,handler){//if(!listeners[eventName]){//listeners[eventName]=newSet();//}//......