vue元件中data是個函式

2022-07-20 15:33:12 字數 530 閱讀 3027

當我們const vm = new vue()用習慣了,data是乙個物件,可到了vue元件

vue.component('cp',}

`,data (){

return {

info :  'hello vue'

因為vue.component是乙個建構函式,data資料是放在vue.component.prototype裡的所以如果是個物件,並且data改變,元件例項共用了乙份data資料,元件復用的時候只要乙個元件改了,其他元件資料全部改了,這樣不行。

而函式不一樣函式每次返回都是一樣的資料,但是後續修改就不影響下一次復用的資料。

得寸進尺一點,來看看new vue()裡的data為什麼是屬性

new vue()裡的例項可以理解為根元素,在一定程度上可以理解為父元素,既然父元素的資料改變那麼子元素引用父元素的那部分資料自然也要跟著變,用函式不太合適

vue元件中data為什麼是個函式

在vue的開發中,我們在元件中採用函式這種格式 data 在vue例項中採用的是物件這種格式 data 那麼為什麼要在元件中採用函式的方式呢?首先元件是多次使用的,也就是復用。當我們多次呼叫乙個元件,肯定不希望元件中資料是相互聯通的。所以在此使用函式的方式return乙個物件,這樣每次呼叫元件返回的...

Vue元件中的data必須是個函式

最近一直在學習vue,今天看到乙個知識點,感覺有必要記錄下,以免後面忘記。每個vue元件其實也可以看成時乙個vue例項,它也有生命週期,data,methods等。其中在vue元件中,data必須是個函式,這是因為 元件是可復用的,我們開發好每個元件後,希望它可以在專案中多個地方使用,但又相互不影響...

為什麼Vue元件裡面data必須是個函式

首頁我們先了解乙個原形和原型鏈,每個js物件和js方法都有乙個原形,js物件的是隱式原形 proto,而方法中的是顯示原形prototype,下面舉個例子 export default methods 其實底層是 component.proto data 而var obj 底層是var obj ne...