vue雙向綁定原理 Vue中,使用過多的偵聽器和計(jì)算屬性有什么不好的影響?
Vue中,使用過多的偵聽器和計(jì)算屬性有什么不好的影響?react中的數(shù)據(jù)是單向綁定的,而Vue中的數(shù)據(jù)是雙向綁定的。為什么?在react中,state的值主要通過設(shè)置state來改變,而在Vue中,s
Vue中,使用過多的偵聽器和計(jì)算屬性有什么不好的影響?
react中的數(shù)據(jù)是單向綁定的,而Vue中的數(shù)據(jù)是雙向綁定的。為什么?在react中,state的值主要通過設(shè)置state來改變,而在Vue中,set和get會自動觸發(fā)來改變屬性的值。
Vue中有兩個(gè)重要的知識點(diǎn):computed和watch
1。Computed
Computed適用于計(jì)算某些屬性。它消耗更少的內(nèi)存并且具有相同的依賴值。
通常,我們聲明的計(jì)算屬性調(diào)用getter函數(shù),該函數(shù)取決于綁定的MSG值并相應(yīng)地更改。
在計(jì)算屬性中設(shè)置并調(diào)用setter函數(shù),。
此時(shí)此.changesmsg它將改變,然后觸發(fā)setter函數(shù)來設(shè)置這個(gè).msg最后此.changesmsg的值為uw。
如果一個(gè)變量依賴于兩個(gè)變量,如兩個(gè)變量之和,則此方法適用。
Computed必須在實(shí)例范圍內(nèi)
在Vue中,setter和getter是數(shù)據(jù)的雙向綁定。
2. Watch
Vue提供了一種更通用的方法,通過Watch選項(xiàng)來響應(yīng)數(shù)據(jù)更改。一般來說,當(dāng)數(shù)據(jù)更改以異步方式或高成本執(zhí)行時(shí),它更適合。
3、方法]在Vue中,還有方法方法,其中包含一些需要在Vue中調(diào)用的方法,這些方法還可以更改數(shù)據(jù)。但是,與computed相比,開銷更大,每個(gè)更改都需要調(diào)用。
PS:最后,在Vue中,VAR VM=new Vue({}),其中VM是一個(gè)局部變量。如果需要在控制臺上打印,則需要
Vue組件的數(shù)據(jù)傳輸應(yīng)該是單向的,并且總是向下的,將父組件的屬性方法傳遞給子組件。如果子組件想要更改不同的顏色,它應(yīng)該接受父組件傳入的props,調(diào)用它自己的方法,并使用props作為參數(shù)來確定要顯示的顏色,而不是讓父元素調(diào)整子組件。另一個(gè)是vuex。組件本身綁定到存儲的值,外部組件修改存儲的值以影響組件的顏色。