计算属性的特性:当计算属性依赖的内容发生改变时,才会重新执行计算。
                          若依赖的内容没有变化,则返回的是之前计算的结果,而不会再次执行函数,这                              大大优化 了性能

computed的使用:

<div>总数:{{total}}</div>        // computed 用法
<div>总数:{{getTotal()}}</div>   // methods用法 
<div @click="count++">增加count</div>


//js    

    computed:{
        total(){
            return this.count * this.price
        }
    },
    methods:{
        getTotal(){
            return this.count * this.price
        }
    }

computed和methods的区别

computed:仅仅在依赖的内容发生改变时,重新计算。否则从缓存中取出,返回上次的结果。
methods:当页面重新渲染之后,每次都会执行。相对性能损耗大
代码:
  
<div>{{timeNow}}</div>
        <div>{{getTimeNow()}}</div>
        <button @click="message=='message'?message='ydl':message='message'">{{message}}</button>        

// js  下面的计算属性将不再更新,因为 Date.now () 不是响应式依赖

    computed:{
        timeNow(){
            return Date.now()
        }
    },
    methods:{
        getTimeNow(){
            return Date.now()
        },
    }

Logo

快速构建 Web 应用程序

更多推荐