computed和methods的最大区别

Posted anduyinglufei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了computed和methods的最大区别相关的知识,希望对你有一定的参考价值。

好记性不如烂笔头 遇上问题还是记下来比较好 除非你是天才看东西过目不忘。。。。

先来段methods

<div id="app">
    <input type="text" name="" v-model="t1">+
    <input type="text" name="" v-model="t2">=
    <input type="text" name="" v-model="t3()">
    <p>{{t4()}}</p>
</div>
<script type="text/javascript">
    var vm = new Vue({
        el:"#app",
        data:{
            t1:0,
            t2:0
        },
        methods:{
            t3:function(){
                console.log("t3")
                return this.t1 + this.t2
            },
            t4:function(){
                console.log("t4")
                return 333
            }
        }
    })
</script>

methods特性:每当v-model发生数据变化时候 methods里的2个函数都会重新调用一次。

再来一段 computed

<div id="app">
    <input type="text" name="" v-model="t1">+
    <input type="text" name="" v-model="t2">=
    <input type="text" name="" v-model="t3">
    <p>{{t4}}</p>
</div>
<script type="text/javascript">
    var vm = new Vue({
        el:"#app",
        data:{
            t1:0,
            t2:0
        },
        computed:{
            t3:function(){
                console.log("t3")
                return this.t1 + this.t2
            },
            t4:function(){
                console.log("t4")
                return 333
            }
        }
    })
</script>

computed 特性:每当v-model发生数据变化时候 computed里只有t3一个函数都会调用。

总结 computed会缓存数据 按需更新 不会重复渲染DOM 比较节约性能 语法方面 不能写() 必须return

methods的话 我就不写了 你懂得。。。。

以上是关于computed和methods的最大区别的主要内容,如果未能解决你的问题,请参考以下文章

Watch,computed和methods的区别

vue中的computed和methods的区别

Vue中的methods属性和computed属性的区别

vue的watch、methods 和 computed 的区别

谈谈vue.js中methods watch和compute的区别和联系

面试官问你computed,methods和watch有什么区别,分别适合在什么时候使用?