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>

效果;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值