vue.js計算屬性 vs methods


計算屬性:Vue.js 模板內的表達式非常便利,但是缺點就是只能用於簡單的運算,如果模板中有太多的邏輯運算會讓模板不堪重負且難以維護。恰恰計算屬性可以處理復雜的邏輯運算,也就是說對於任何復雜邏輯你都應當使用計算屬性。

1、計算屬性基礎列子

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4         <meta charset="UTF-8">
 5          <title></title>
 6          <script type="text/javascript"  src="vue.js"></script>
 7      </head>
 8  <body>
 9      <div id="id">
10          <span>{{message}}</span><br>
11          <span>{{reverseMessage}}</span><br>
12          <span>{{num}}</span><br>
13          <span>{{sum}}</span>
14      </div>
15  </body>
16  <script>
17        var vm = new Vue({
18            el: '#id',
19            data:{
20                message:'計算屬性',
21                num:100
22            },
23            computed:{
24                reverseMessage: function () {
25                    return this.message.split('').reverse().join('')
26                },
27                sum:function(){
28                    return this.num + 100
29                    //return this.num = this,num+100    //綁定數據num同時也更新了
30                }
31            }
32        })
33      </script>
34  </html>

輸出結果:

2、計算屬性和Methods的比較

  Methods也是實現計算屬性相同的功能
  計算屬性是基於它們的依賴進行緩存的,也就是說計算屬性只有在它相關依賴發生改變時才會重新求值,只要綁定數據沒有發生改變,多次訪問計算屬性會立即返回之前的計算結果,而不必執行函數。
  Methods只要發生重新渲染,methods就總會執行回調函數。相比而言如果遇到需要很大的開銷邏輯運算時,使用計算屬性比methods更有優勢。因為計算屬性具有緩存的功能,可以大大提高效率。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM