vue监听事件实例

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
    <script src="https://cdn.staticfile.net/vue/2.4.2/vue.min.js"></script>
</head>
   <body>
      <div id = "computed_props">
         千米 : <input type = "text" v-model = "kilometers">
         米 : <input type = "text" v-model = "meters"><br/>
         姓: <input type="text" v-model = "first_name">
         名: <input type="text" v-model = "name">
      </div>
       <p id="info"></p>
       <p id="info2"></p>
      <script type = "text/javascript">
         var vm = new Vue({
            el: '#computed_props',
            data: {
               kilometers : 0,
               meters:0,
               first_name:"",
               name:"",
            },
            methods: {
            },
            computed :{
            },
            watch : {
               kilometers:function(val) {
                  this.kilometers = val;
                  this.meters = this.kilometers * 1000
               },
               meters : function (val) {
                  this.kilometers = val/ 1000;
                  this.meters = val;
               },
               first_name:function(val){
                   if(val == ''){
                        this.first_name = val;
                        this.name = '三'
                   }else{
                        this.first_name = val;
                        this.name = ''
                   }
               },
               name:function(val){
                    if(val == '三'){
                        this.first_name = "张";
                        this.name = val
                    }else{
                        this.first_name = "";
                        this.name = val
                    }
               }
            }
         });
         // $watch 是一个实例方法
        vm.$watch('kilometers', function (newValue, oldValue) {
            // 这个回调将在 vm.kilometers 改变后调用
            document.getElementById ("info").innerHTML = "修改前值为: " + oldValue + ",修改后值为: " + newValue;
        });
        vm.$watch('first_name', function (newValue, oldValue) {
            // 这个回调将在 vm.kilometers 改变后调用
            document.getElementById ("info2").innerHTML = "修改前值为: " + oldValue + ",修改后值为: " + newValue;
        })
      </script>
   </body>
</html>

 

posted @ 2024-05-15 16:32  流浪2024  阅读(2)  评论(0编辑  收藏  举报