vue-watch监听非DOM元素的事件

注意:

1.通过键盘监听事件完成姓名的拼写监听的是DOM元素中的事件,是用户操作直接的事件。而watch可以监视路由等非DOM元素的事件。

2.watch监视非DOM元素事件,只需将本实例中的firstname2属性名字符串换成  '$route.path'  变量名即可,注意单引号

3.单引号的使用规则:一、字符串中带有英文连字符使用,不能使用有些驼峰原则的时候 二、本来都要使用单引号的,没有使用连字符的字符串名字直接省略 三、变量一定要使用单引号

HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../lib/vue.js"></script>
</head>
<body>
    <div id="app">

        <input type="text" v-model="firstname" @keyup="getFullname"> +
        <input type="text" v-model="lastname" @keyup="getFullname"> =
        <input type="text" v-model="fullname">
        
        <br/><br/>
        <input type="text" v-model="firstname2"> +
        <input type="text" v-model="lastname2"> =
        <input type="text" v-model="fullname2">
        
    </div>
    
    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                firstname:'',
                lastname:'',
                fullname:'',
                firstname2:'',
                lastname2:'',
                fullname2:''
            },
            methods:{
              getFullname(){
                  this.fullname = this.firstname + '·' + this.lastname
              }  
            },
            watch:{ 
                firstname2: function (newVal){
                    this.fullname2 = newVal + '·' + this.lastname2;
                },
                lastname2: function (newVal) {
                    this.fullname2 = this.firstname2 + '·'+ newVal;
                }
                //function有两个参数,一个newVal表示最新的字符串,oldVal表示原有的字符串    
            }
            //监听data中的数据变化,触发对应的处理函数
        })
    </script>
</body>
</html>

效果;

猜你喜欢

转载自blog.csdn.net/qq_42036616/article/details/82978457
今日推荐