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

2022-08-28 01:03:19 字數 855 閱讀 5679

// 定義乙個名為 button-counter 的新元件

vue.component('button-counter',

},template: 'you clicked me } times.'

})

元件是可復用的 vue 例項,且帶有乙個名字:在這個例子中是。我們可以在乙個通過new vue建立的 vue 根例項中,把這個元件作為自定義元素來使用:

因為元件是可復用的 vue 例項,所以它們與new vue接收相同的選項,例如datacomputedwatchmethods以及生命週期鉤子等。

僅有的例外是像el這樣根例項特有的選項。

當我們定義這個元件時,你可能會發現它的data並不是像這樣直接提供乙個物件:

data: 

取而代之的是,乙個元件的data選項必須是乙個函式,因此每個例項可以維護乙份被返回物件的獨立的拷貝:

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

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

為何元件的data必須是乙個函式

首先定義的 xx.vue檔案在編譯之後是乙個類,每個地方使用這個元件的時候,相當於對這個類例項化,在例項化的時候執行data,如果不是乙個函式的話,每個元件的例項的data都是同乙個引用資料,當該元件作為公共元件共享使用,乙個地方的data更改,所有的data一起改變。如果data是乙個函式,每個例...

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

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