vue系列 data為什麼必須是乙個返回物件的方法

2021-10-05 09:57:47 字數 605 閱讀 6688

因為物件是引用資料型別,如果你寫成物件,這個元件在多處被引用,只要修改一處的值,那麼另一處的引用的值也會變化,這樣就亂套了。

而使用返回物件的函式,由於每次返回的都是乙個新物件(object的例項),引用位址不同,則不會出現這個問題。

物件方式:

var data =

var vm1 =

var vm2 =

vm1.data === vm2.data // true,指向同乙個物件

函式方式:

var

func

=function()

}var vm3 =

var vm4 =

vm3.

data()

=== vm4.

data()

// false,指向不同物件

函式方式中 data 都指向同乙個函式,但這個函式每次的返回值都是乙個新的物件

===// false

newobject()

===new

object()

// false

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

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

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

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

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

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