计算机网络/计算机科学与应用/系统/运维/开发

Vue3.x系列 监听函数watch

监听器

在watch选项中定义,包含2个参数,监听数据的新值,第二个是旧值


监听器的使用

<div id="app">
     时:<input type="text" v-model="time">
    分钟:<input type="text" v-model="minute"/>
</div>
<script>
const vm = Vue.createApp({
     data(){
                         return{
                             time:0,
                             minute:0
         }
    },
                    watch:{
                          time(val){ this.minute = val * 60},
                          minute(val,oldVal){ this.time = val / 60; }
   }
}).mount('#app')
</script>

不要使用箭头函数定义监听函数


实例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
   千米 : <input type="text" v-model="kilometers">
    米: <input type="text" v-model="meters">
</div>
<script src="https://unpkg.com/vue@next"></script>
<script>
 
    const vm  = Vue.createApp({
        data(){
            return {
                kilometers:0,
                meters:0
            }
        },
        // 监听器
        watch:{
            // 当数据属性 kilometers 变化时 另一个数据属性会自动发生改变
            kilometers(val){
                this.meters = val * 1000;
            },
            // 监听器函数也可以接收2个参数 val是当前值 oldVal 是改变之前的值
            meters(val, oldVal){
                this.kilometers = val / 1000;
            }
        }
    }).mount("#app");
</script>
</body>
</html>


人生建议:不要因为嘴硬而失去重要的东西,清醒,知趣,明得失,知进退。

评论

^