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

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

2019-07-25 23:03 1 378 推薦指數:

查看詳情

為什么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
組件 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
js取一個對象的另一個對象

  最開始的截圖    原本是想取到其中的foodName 先是用一個for循環循環了下 結果console出來的是一對對象 於是網上查找改了一下 將 這些對象轉換成數組 就拿得了到我想要的數據 不過好像最后還是沒用到 ...

Sat Apr 20 05:16:00 CST 2019 0 698
為什么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
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM