Vue元件中data為什麼需要是乙個函式

2021-10-07 22:31:07 字數 1502 閱讀 3427

關於vue元件中元件內部資料繫結通過data()}進行

data不是乙個物件型別,需要是乙個函式型別,如果傳入非函式型別會報錯

乙個小例子:

對於obj型別,如果在{}內部返回或者引用外部的obj,由於引用的是位址,會指向同乙個物件,所以如果obj定義在for迴圈外部最終結果,均為[,,,]即指向同乙個位址

let key =

'url'

let arr2 =

let arr =[1

,2,3

,4]for

(let i =

0; i < arr.length; i++

) obj[key]

= arr[i]

arr2.

push

(obj)

} console.

log(arr2,

'arr2'

)//0: [, ,,]

對於函式中進行obj返回,如果返回乙個命名的obj,則如果呼叫這個函式,生成的物件均是同乙個物件,其中乙個修改其餘均會變化,

如果直接返回乙個物件,則每次生成的均不是同一物件,不會產生同步修改問題

function

creatobj()

;}a=

creatobj()

b=creatobj()

c=creatobj()

console.

log(a, b, c )

a.aaa=

4

>

<

/tpl>

<

/div>

"tpl"

>

"count--"

>

-<

/button>

當前計數

}<

/div>

"count++"

>

+<

/button>

<

/div>

<

/template>

<

/body>

vue.

component

("tpl",}

});new

vue(

)<

/script>

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

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

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

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

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

元件是可復用的vue例項,乙個元件被建立好之後,就可能被用在各個地方,而元件不管被復用了多少次,元件中的data資料都應該是相互隔離,互不影響的,基於這一理念,元件每復用一次,data資料就應該被複製一次,之後,當某一處復用的地方元件內data資料被改變時,其他復用地方元件的data資料不受影響,如...