今天看面試題 突然看到 Vue中的data要用return返回 看到這個問題 剛開始沒反應過來 因為平時寫vue都是直接去寫代碼的 關於data要用return返回 只是知道一個大概 並``沒有仔細去了解
首先先看一下下面的代碼
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
}
});
這種寫法data對象是引用類型
//在vue組件中這樣寫
data() {
return {
message: 'Hello'
}
}
//函數寫法,每次返回新對象
- 1)在簡單的Vue實例中,因為你app對象不存在復用,不會出現數據污染。
- 2)然而在組件中, 使用return包裹后數據中變量只在當前組件中生效,因為組件是可以被復用的,這樣不會影響其他組件,所以為了不讓多處的組件共享同一個data對象,只能返回函數 ,我們只是調用 了data函數生成的數據副本,避免了數據污染。