为了账号安全,请及时绑定邮箱和手机立即绑定

Vue中的$watch监控数据

标签:
Vue.js

         

<!DOCTYPE html><html>    <head>        <meta charset="utf-8" />        <title>监控数据的变化</title>    </head>    <script type="text/javascript" class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="js/vue.js" ></script>    <body>        <div id="div1">            <input type="text" v-model="name">            <h2>{{name}}</h2>            <hr>            <input type="text" v-model="age">            <h2>{{age}}</h2>            <input type="text" v-model="user.age">            <h2>{{user.age}}</h2>        </div>    </body>    <script>        let vm = new Vue({            el: "#div1",            data:{                name:'Tom',                age:18,                user:{                    id:1,                    age:20                }            },            watch:{                //方式一:监控vue实例的数据                age:(newValue,oldValue) => {                    console.log('name的newValue值为:'+newValue+',旧值为:'+oldValue);                },                user:{                    handler:(newValue,oldValue) => {                        console.log('age的newValue值为:'+newValue.age+',旧值为:'+oldValue.age);                        //原来的旧值已经看不见了,只能看到新的值                    },                    deep: true //深度监视,当对象中的属性发生变化时会被监控                }            }        });        //方式二:监控vue实例的数据        vm.$watch('name',function(newValue,oldValue){                console.log('name的newValue值为:'+newValue+',旧值为:'+oldValue);            });    </script></html>


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消