原文:Vue 中 data 為什么必須是一個函數

為什么 Vue 中的 data 必須是個函數 官方文檔的解釋如下: 為什么會出現上述 影響到其它所有實例 的情況呢 其實這個問題取決於 JS 原型鏈知識,而非 Vue 我們先來看不是函數的情況: 可以看到,componentA 和 componentB data 之間指向了同一個內存地址,age 都變成了 ,導致了問題 因此,data 如果單純的寫成對象形式,會使得所有組件實例共用了一份 data ...

2020-09-14 21:13 0 828 推薦指數:

查看詳情

為什么vue組件data必須是一個函數

函數內聲明實例屬性保存data,每個實例對象的data都是經過一次函數執行得到有不同的返回結果,所以返回data的值具有自己獨立的作用域。 在定義Vue實例時,給Vue傳參是一個對象,對象data就是一個函數Vue在實例化的時候會調用這個函數每個實例都會返回新的值,data ...

Sat Jul 18 22:41:00 CST 2020 0 589
vue組件的data為什么是一個函數

組件是可復用的vue實例,一個組件被創建好之后,就可能被用在各個地方,而組件不管被復用了多少次,組件data數據都應該是相互隔離,互不影響的,基於這一理念,組件每復用一次,data數據就應該被復制一次,之后,當某一處復用的地方組件內data數據被改變時,其他復用地方組件的data數據不受 ...

Fri Aug 23 01:03:00 CST 2019 0 2491
vue組件的data為什么是一個函數

1. 前言 在學習vue的時候,一直納悶一件事:組件的data數據為什么必須要以函數返回的形式,為什么不是簡單的對象形式呢?遂帶着問題去翻官方文檔,文檔自然也寫明了這么做的原因,本篇博文以官方文檔給出的原因為基礎,並加上具體的例子,來闡述這么設計的原因。 2.正文 組件是可復用的vue實例 ...

Tue Oct 30 21:12:00 CST 2018 1 20286
Vue組件data為什么必須是一個函數

Vue的組件基礎中有這樣一句話:data必須是一個函數。 為什么data必須是一個函數呢? 我們來看Vue在聲明式渲染給出的一個demo: 在這個demodata一個對象,通過 new Vue 創建的 Vue 實例,我們直接把data ...

Thu Feb 06 07:06:00 CST 2020 0 256
為什么vue組件data不是一個對象而是一個函數

  如果兩個實例引用同一個對象,當其中一個實例的屬性發生改變時,另一個實例屬性也隨之改變,只有當兩個實例擁有自己的作用域時,才不會相互干擾。   這是因為JavaScript的特性所導致,在componentdata必須以函數的形式存在,不可以是對象。   組建中的data寫成一個函數 ...

Fri Jul 26 01:56:00 CST 2019 0 2050
19-為什么vuedata一個函數而不是一個對象

Object是引用數據類型,如果不用function返回,每個組件的data都是內存的同一個地址,一個數據改變了其他也改變了; JavaScript只有函數構成作用域(注意理解作用域,只有函數 {} 構成作用域,對象的 {} 以及 if(){}都不構成作用域) ,data一個函數時,每個組件 ...

Thu May 13 00:10:00 CST 2021 0 1117
Vue 組件的data必須是一個函數

組件是可復用的 Vue 實例,且帶有一個名字:在這個例子是 <button-counter>。我們可以在一個通過 new Vue 創建的 Vue 根實例,把這個組件作為自定義元素 ...

Sat May 19 01:58:00 CST 2018 0 2209
組件 data 為什么是一個函數

為什么組件data 必須是一個函數,然后 return 一個對象,而 new Vue 實例里,data 可以直接是一個對象? // data data() { return { message: "子組件", childName:this.name } } // new Vue ...

Fri Jan 03 21:59:00 CST 2020 0 2015
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM