watch、computed和methods对比

watch

通过watch 来监视data中的特定数据的变化,一旦数据发生变化,则调用function函数
代码示例:

 // 通过wath监视data数据的变化,一旦变化就出发function,function的第一个参数为新数据,第二个参数为老数据
        watch: {
        	//firstName为data中的数据
            firstName:function(newVal,oldVal){
                console.log(newV+"----"+oldV);
                this.fullName=this.firstName+this.lastName
            }
        },

computed

在computed中,可以定义一些属性,这些属性叫做【计算属性】,计算属性的本质是一个方法,但是我们在使用这些计算属性的时候,是把它们的名称直接当做属性来使用过的,并不会把计算属性当做方法去调用,主要用于一些简单运算。

注意:

  • 计算属性在引用的时候,一定不要加()去调用,注解当做普通的属性去使用就好
  • 只要计算属性这个function内部,所有用到的任何data中的数据发生了变化,就会重新计算这个计算属性的值
  • 计算属性的求值结果,会被缓存起来,方便下次直接使用,如果计算属性方法中的数据没有发生变化,则不会重新对计算属性求值

代码示例:



<body>
    <div id ="app">
        <input type="text" v-model="firstName">
        <input type="text" v-model="lastName">
        <input type="text" v-model="fullName">
        <p>{{fullName}}</p>
    </div>

    <script>
     var vm = new Vue({
        el: '#app',
        data: {
            firstName:"",
            lastName:"",
        },
        methods: {
        },
        computed: {

            fullName:function(){
                // 使用计算属性一定要有return
               return this.firstName+this.lastName
            }
        }
     });
    </script>
</body>

methods

methods方法主要表示一个具体的操作,主要书写业务逻辑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值