關於vue data 值傳遞的理解

2021-09-25 02:10:43 字數 895 閱讀 5834

data() 

// 打樁輸出

console.log("this is form2:")

console.log(form2)

// 延時變更變數物件

settimeout(()=>,5000)

// 返回物件

return ,

// 固定值傳遞,]

}} }

當頁面首次載入時,data中會按順序執行**(定義物件變數、打樁輸出、延時變更物件、返回物件),且只執行一次;

與頁面表單進行值繫結的不是data 中的form2 變數物件,而是return 中的新建的物件form(與表單繫結:model 同名)屬性;

關於return 中值傳遞問題,對於位址傳遞,物件位址在首次載入時便傳入方法中,且後續操作不會變更該位址值,當物件中屬性值變化時,會自動更新;對於固定值傳遞同理,首次載入傳入固定值,且值不會因後續操作而變化;

如示例

(1)對於位址傳遞:首次載入傳入form2的位址,後續表單name 值變化觸發校驗,會將繫結的form2 的值傳遞到校驗方法中;

(2)對於固定值傳遞:首次載入傳入form2.password 固定值,後續name 值變化觸發校驗,但該值在首次載入時傳入,且不可被改變,故校驗中獲取的還是初始固定值;

關於表單值變化時,會實時的響應到data return 中的form 物件裡,而不會更新到data 中的form2 裡;故data 中的form2 只是在記憶體中開闢一塊空間,存放乙個變數物件,用於傳遞return 中form 的乙個媒介;

關於獲取data 中form2 變數物件,可通過獲取return 中的form 來獲取,但如果form2 中的屬性與return 中form 的屬性同名,則會被return form 中的覆蓋;

值傳遞和位址傳遞的理解

void func int a int a 10 func a printf a d a 仍然顯示 a 10,因為整型引數a在func 中是按值傳遞的,也就是說func 僅使用a的值,而對儲存a的記憶體位址不加修改 void func int a int a 10 func a printf a d...

C 值傳遞 指標傳遞 引用傳遞 理解

最近寫了幾篇深層次討論陣列和指標的文章,其中提到了 c語言中,所有非陣列的形式引數傳遞均以值傳遞形式 而關於值傳遞,指標傳遞,引用傳遞這幾個方面還會存在誤區,所有我覺的有必要在這裡也說明一下 下文會通過例子詳細說明哦 值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來...

關於java中的值傳遞

值傳遞 本質是賦值,是把實際引數賦值給形式引數的過程。傳值 基本資料型別和string以及string的包裝型別,是值 value 傳遞。形參改變,實參不改變。傳址 int a 3 int b b a 傳值 賦值 b 5 system.out.println a string a abc strin...