摘要:和都是響應式的,先看看官方的說法實例的數(shù)據(jù)對象。將會遞歸將的屬性轉(zhuǎn)換為,從而讓的屬性能夠響應數(shù)據(jù)變化。深入理解響應式原理當你把一個普通的對象傳給實例的選項,將遍歷此對象所有的屬性,并使用把這些屬性全部轉(zhuǎn)為。沒有這句,中的也不跟蹤狀態(tài)。
First
data 和 computed都是響應式的,先看看官方的說法:
Vue 實例的數(shù)據(jù)對象。Vue 將會遞歸將 data 的屬性轉(zhuǎn)換為 getter/setter,從而讓 data 的屬性能夠響應數(shù)據(jù)變化。
深入理解響應式原理:
當你把一個普通的 JavaScript 對象傳給 Vue 實例的 data 選項,Vue 將遍歷此對象所有的屬性,并使用 Object.defineProperty 把這些屬性全部轉(zhuǎn)為 getter/setter。
每個組件實例都有相應的 watcher 實例對象,它會在組件渲染的過程中把屬性記錄為依賴,之后當依賴項的 setter 被調(diào)用時,會通知 watcher 重新計算,從而致使它關聯(lián)的組件得以更新。
原理如下圖:
2.兩者的區(qū)別:
data中的屬性并不會隨賦值變量的改動而改動,(賦值變量類似:num1: aaa.bbb這種,而這種是直接賦值:num1: "aaa")
當需要這種隨賦值變量的改動而改動的時候,還是用計算屬性computed合適
如果實在要在data里面聲明屬性,可以先賦一個值,然后在methods里面定義方法操作該屬性,效果等同,也會有響應式
測試以下代碼感受以下:
num1是data中的變量,其初始值為:{{num1}}
點擊按鈕后,data中的num1變化為:{{num1}}
點擊按鈕后,computed中的c_num1變化為:{{c_num1}}
1.data定義的屬性不會因為它的賦值變量的變化而變化
2.computed定義的屬性會隨它的賦值變量的變化而變化
以上代碼轉(zhuǎn)載自代碼來源
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/101943.html
摘要:官方文檔中已經(jīng)有對其的解釋了,在這里把我的理解記錄一下。的使用場景模板中的復雜邏輯表達式,為了防止邏輯過重導致不易維護,都應當把相關邏輯放入計算屬性。只在相關依賴發(fā)生改變時它們才會重新求值。 官方文檔中已經(jīng)有對其的解釋了,在這里把我的理解記錄一下。 computed 的使用場景 HTML模板中的復雜邏輯表達式,為了防止邏輯過重導致不易維護,都應當把相關邏輯放入計算屬性。 比如這...
摘要:官方文檔中已經(jīng)有對其的解釋了,在這里把我的理解記錄一下。的使用場景模板中的復雜邏輯表達式,為了防止邏輯過重導致不易維護,都應當把相關邏輯放入計算屬性。只在相關依賴發(fā)生改變時它們才會重新求值。 官方文檔中已經(jīng)有對其的解釋了,在這里把我的理解記錄一下。 computed 的使用場景 HTML模板中的復雜邏輯表達式,為了防止邏輯過重導致不易維護,都應當把相關邏輯放入計算屬性。 比如這...
摘要:其實官方文檔對這個已經(jīng)說的很清楚了,筆者不過是在其基礎上進行歸納總結,各位看官還是先去讀一下官方文檔吧區(qū)別于的兩個核心在官方文檔中,強調(diào)了區(qū)別于最重要的兩點是屬性調(diào)用,而是函數(shù)調(diào)用帶有緩存功能,而不是,下面我們看一個具體的例子部分 其實官方文檔對這個已經(jīng)說的很清楚了,筆者不過是在其基礎上進行歸納總結,各位看官還是先去讀一下官方文檔吧 1.computed區(qū)別于method的兩個核心 在...
摘要:最近倒騰了一會,有點迷惑其中與這兩個屬性的區(qū)別所以試著寫了這個,好土掩面逃類似中組件的方法,不同的是采用的與綁定事件。簡而言之,是一次性計算沒有緩存,是有緩存的計算。 最近倒騰了一會vue,有點迷惑其中methods與computed這兩個屬性的區(qū)別,所以試著寫了TodoList這個demo,(好土掩面逃~); 1. methods methods類似react中組件的方法,不同的是v...
摘要:最近倒騰了一會,有點迷惑其中與這兩個屬性的區(qū)別所以試著寫了這個,好土掩面逃類似中組件的方法,不同的是采用的與綁定事件。簡而言之,是一次性計算沒有緩存,是有緩存的計算。 最近倒騰了一會vue,有點迷惑其中methods與computed這兩個屬性的區(qū)別,所以試著寫了TodoList這個demo,(好土掩面逃~); 1. methods methods類似react中組件的方法,不同的是v...
閱讀 3761·2021-10-11 11:09
閱讀 1397·2021-09-24 10:35
閱讀 3494·2021-07-29 13:48
閱讀 535·2019-08-30 13:15
閱讀 2589·2019-08-30 12:53
閱讀 3345·2019-08-30 12:44
閱讀 2771·2019-08-29 16:57
閱讀 1024·2019-08-29 12:26