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

2021-10-04 22:26:33 字數 687 閱讀 7551

**首頁我們先了解乙個原形和原型鏈,每個js物件和js方法都有乙個原形,js物件的是隱式原形 proto,而方法中的是顯示原形prototype,下面舉個例子:

export

default

, methods:

}// 其實底層是

component._proto_.data=

//而var obj = {}底層是var obj = new object()

//所以component._proto_._proto_,第乙個是繼承data,第二個繼承object,data不只是有data屬性還包含object屬性

**因為咱們封裝的元件是可復用的,如果乙個地方用到這個元件,其他地方也用這個元件,那樣大家的繼承都是一樣的,只要乙個地方的元件屬性修改了,其他地方也會被修改,這個肯定不是我們想要的,也是很恐怖的,那用函式之後會是什麼樣的那,看下面乙個例子:

export

default},

methods:

}//其實底層是這樣的

varcomponent

=function()

component.prototype.

data

=function()

}

**這個才是我們想要的效果,所以元件的data必須要用函式

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

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

Vue例項裡面的data屬性為什麼用函式返回

最近在學習vue中在圖靈社群買了一本電子書 vue小書 我感覺挺坑的,沒有期待的那麼好。其中有的一下子就給一大串 但這一大串 只是為了說明某一點,但是這片 很多處都可以講的,大概是因為篇幅限制原因吧。首先官方解釋 當乙個元件被定義,data 必須宣告為返回乙個初始資料物件的函式,因為元件可能被用來建...

Vue元件中data選項為什麼必須是函式

官方解釋 data 必須是函式 構造 vue 例項時傳入的各種選項大多數都可以在元件裡使用。只有乙個例外 data 必須是函式。實際上,如果你這麼做 vue.component my component span data 那麼 vue 會停止執行,並在控制台發出警告,告訴你在元件例項中 data ...