vue中data需要用方法的方式返回的理解
阿新 • • 發佈:2021-11-08
據目前個人知識的理解,為什麼vue中data需要用函式的方式返回的原因,是需要從原型繼承入手。
對於物件中的繼承;
function Person(){ this.age = '100' this.data = { name:'小紅' } } function Per(){} Per.prototype = new Person() let per = new Per() let per1 = new Per() // 原型鏈繼承 // 如果本身在例項化屬性存在,就會取例項屬性;如果取不到就從圓型屬性上找 // 所以這個也是在vue當中,data中的屬性 必須要用函式返回的方式處理的原因 per1.age = 1000 per1.data.name = '小青' // 此時列印 per.data.name 會發現值為 小青; // 但是如果列印per.data.age的話 會發現還是 100 。這個是因為在物件中的屬性會被 繼承 ,是因為物件 是引用型別,而字串和數字是基礎型別
假如 vue中如果不是通過函式的方式返回,就會出現,同一個元件的兩個例項化元件中,一個data中的值發生改變的時候,另一個也會改變。