1、methods是個方法,比如妳點擊事件要執行壹個方法,這時候就用methods,
2、computed是計算屬性,實時響應的,比如妳要根據data裏壹個值隨時變化做出壹些處理,就用computed。
3、舉壹個例子幫助理解:
1)<div id="root">;
2) </div>;
3) <script> var vm = new Vue({ el: '#root', data:data, methods:{
4)method_now(){ return Date.now();} },
5)computed:{
6)computed_now: function () { return Date.now();}} })
7)</script>
4、控制臺訪問:
1)$vm0.computed_now;
2)1491741921719$vm0.computed_now;
3)1491741921719$vm0.computed_now;
4)1491741921719$vm0.computed_now;
5)1491741921719$vm0.method_now;
6)()1491741949941$vm0.method_now;
7)()1491741950734$vm0.method_now;
8)()1491741951445$vm0.method_now;
9)()1491741952117。
5、methods是方法和原生js沒區別,大多是需要我們主動調用(比如事件)。
6、computed是get 這個get有點特殊,只要觸發所依賴數據的set會自動觸發get。我們只關心get的return set由系統觸發或者依賴的數據觸發,官方說依賴緩存只是為了理解。其實Date.now()這種只是系統不能觸發set,不能觸發set get當然不會通知觀察者。
7、watch 是set 由data觸發,我們可以在set裏進行自己的條件封裝。