1.第一種寫法,對象。
var app = new Vue({ el: '#yanggb', data: { yanggb: 'yanggb' } })
2.第二種寫法,函數。
var app = new Vue({ el: '#yanggb', data: function() { return { yanggb: 'yanggb' } } })
3.第三種寫法,函數,是第二種寫法的ES6寫法。
var app = new Vue({ el: '#yanggb', data() { return { yanggb: 'yanggb' } } })
三種寫法的區別
在簡單的vue實例應用中,三種寫法幾乎是沒有什么區別的,因為你定義的#yanggb對象不會被復用。
但是如果是在組件應用的環境中,就可能會存在多個地方調用同一個組件的情況,為了不讓多個地方的組件共享同一個data對象,只能返回函數。這個與JavaScript的作用域特性有關,函數自己擁有私有的作用域,函數之間的作用域相互獨立,也就不會出現組件對數據的綁定出現交錯的情況。