原文:為什么vue組件中的data不是一個對象而是一個函數

如果兩個實例引用同一個對象,當其中一個實例的屬性發生改變時,另一個實例屬性也隨之改變,只有當兩個實例擁有自己的作用域時,才不會相互干擾。 這是因為JavaScript的特性所導致,在component中,data必須以函數的形式存在,不可以是對象。 組建中的data寫成一個函數,數據以函數返回值的形式定義,這樣每次復用組件的時候,都會返回一份新的data,相當於每個組件實例都有自己私有的數據空間 ...

2019-07-25 17:56 0 2050 推薦指數:

查看詳情

組件data為什么不是一個對象而是一個函數

一個組件被定義, data 必須聲明為返回一個初始數據對象函數,因為組件可能被用來創建多個實例。如果 data 仍然是一個純粹的對象,則所有的實例將共享引用同一個數據對象!通過提供 data 函數,每次創建一個新實例后,我們能夠調用 data 函數,從而返回初始數據的一個全新副本數據對象。類比 ...

Fri Jul 26 07:03:00 CST 2019 1 378
19-為什么vuedata一個函數而不是一個對象

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

Thu May 13 00:10:00 CST 2021 0 1117
為什么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必須是一個函數

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

Sat May 19 01:58:00 CST 2018 0 2209
vue如何深度監聽一個對象

大家都知道,Vue項目中對數據的監聽,提供了一個很好的鈎子watch,watch可以極其方便的監聽我們常用數據類型值的變化,但通常當我們想監聽一個對象,某個屬性值的變化時,很難達到我們預期的效果。那么如何實現對象屬性的深度監聽呢? vue中提供了在watch監聽時設置 ...

Wed Feb 27 23:32:00 CST 2019 0 17302
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM