vue watch 监听触发

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


<div id="box">
    <input type="text" v-model="name">
    <h3>{{name}}</h3>
    <input type="text" v-model="age">
    <h3>{{age}}</h3>
    <h3>{{text1}}</h3>
    <input type="text" v-model="user.name">
    <h3>{{user.name}}</h3>
    <h3>{{text2}}</h3>
     <!--与计算属性的区别 当监听到值发生变化是过程式开发 比较笨重-->
    <h3>{{info}}</h3>
</div>

<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
<script>
    var vm = null;
    vm = new Vue({
        el: "#box",
        data: {            //data里面的属性可以写在外面  但是不具备双向绑定之类的功能
            name:'moris',
            age:22,
            user:{
                id:100,
                name : '111'
            },
            text1:'',
            text2:''
        },
        methods:{   //有人改变就改变

        },
        watch:{                                           //监听  对应值改变就改变   不要大量使用
            age:function (newValue,oldValue) {    //两参  一个原来的  一个修改后的
                console.log('age被修改了',newValue,oldValue);
                this.text1='我的年龄'+newValue+'我的名字'+this.name;
            },
            name:function (val) {
                console.log(val);
                this.text2 = '我的名字'+val+'我的年龄'+this.age
            },
            user:{
                // bandler:(newValue,oldValue)=>{
                //     console.log('user被修改了',newValue,oldValue);
                // },
                //deep:true   //表示监听对象属性的变化   false  bandler不执行
            },
        },
        computed:{
            info:function () {
                return '我的年龄'+this.age+'我的姓名'+this.name;
            }
        }
    })
      // 外部写法
    // vm.$watch('name',function (newValue,oldValue) {
    //     console.log('age被修改了',newValue,oldValue);
    // })
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值