计算属性和监视属性实现姓名案例

文章对比了Vue.js中的computed属性和watch选项,指出computed用于计算缓存的属性,而watch可以执行更复杂的逻辑,包括异步操作。在处理数据绑定时,computed适合简单的依赖关系,而watch适用于需要深度监听或触发副作用的情况。同时,文章强调了函数的this指向问题,推荐在不同场景下使用普通函数或箭头函数来确保正确的上下文。
摘要由CSDN通过智能技术生成

一、computed和watch之间的区别:

 1.computed能完成的功能,watch都可以完成。

 2.watch能完成的功能,computed不一定能完成,例如:watch可以进行异步操作。

 两个重要的小原则:

1.所被Vue管理的函数,最好写成普通函数,这样this的指向才是vm 或 组件实例对象。

2.所有不被Vue所管理的函数(定时器的回调函数、ajax的回调函数等、Promise的回调函数),最好写成箭头函数,这样this的指向才是vm 或 组件实例对象。

计算属性

<body>
    <div id="root">
        姓:<input type="text" v-model="firstName"><br><br>
        名:<input type="text" v-model="secondName"><br><br>
        <span>全名:{{fullname}}</span>
    </div> 
    <script text="text/javascript">
      const vm= new Vue({
           el: '#root',
           data: {
            firstName:"张",
            secondName:"三"
           },
       
           computed:{
            fullname(){
                    return this.firstName+" "+this.secondName 

            }
           }
         
       })
       

    </script>
    
</body>

监视属性

<body>
    <div id="root">
        姓:<input type="text" v-model="firstName"><br><br>
        名:<input type="text" v-model="secondName"><br><br>
        <span>全名:{{fullname}}</span>
    </div> 
    <script text="text/javascript">
      const vm= new Vue({
           el: '#root',
           data: {
            firstName:"张",
            secondName:"三",
            fullname:'张'+"-"+"三"
           },
           watch:{
            firstName(value){
                this.fullname=value +"-"+this.secondName;
            },
            secondName(value){
                 this.fullname=this.firstName+"-"+value
            }
           }
         
       })
       

    </script>
    
</body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值