組件中的data爲何不是一個對象而是一個函數?

組件是可複用的vue實例,一個組件被建立好以後,就可能被用在各個地方,而組件無論被複用了多少次,組件中的data數據都應該是相互隔離,互不影響的,基於這一理念,組件每複用一次,data數據就應該被複制一次,以後,當某一處複用的地方組件內data數據被改變時,其餘複用地方組件的data數據不受影響。vue

組件中的data寫成一個函數,數據以函數返回值形式定義,這樣每複用一次組件,就會返回一份新的data,相似於給每一個組件實例建立一個私有的數據空間,讓各個組件實例維護各自的數據。而單純的寫成對象形式,就使得全部組件實例共用了一份data,就會形成一個變了全都會變的結果。函數

相關文章
相關標籤/搜索