Vue之watch监听

应用场景
1、监听文本框数据的变化
2、监视路由地址的改变

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="../lib/vue-2.4.0.js"></script>
</head>
<body>

<div id="app">
    <input type="text" v-model="firstname">+
    <input type="text" v-model="lastname">=
    <input type="text" v-model="fullname">
</div>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            firstname: '',
            lastname: '',
            fullname: ''
        },
        methods: {},
        watch:{
            // 使用这个属性,可以监视data中指定数据的变化,然后触发这个watch中对应的function处理函数
            // first_name这种形式的变量就需要使用引号括起来
            'firstname':function (newVal, oldVal) {
                // console.log('监视到了 firstname 的变化')
                this.fullname = this.firstname + '-' + this.lastname;
            },
            'lastname':function (newVal, oldVal) {
                this.fullname = this.firstname + '-' + this.lastname;
            }
        }
    })
</script>
</body>
</html>

watch表示:它是Vue的一个属性,可以进行监视data中指定数据的变化,然后触发对应的function处理函数
  特别注意:this.firstname后面不要带括号,否则会报错!!!!!
  它有两个变量,newVal表示变化后的值,oldVal表示变化前的值
属性的命名:first_name像这种带下划线的就必须使用引号括起来

posted @ 2020-04-20 22:38  北宫乾宇  阅读(147)  评论(0编辑  收藏  举报