原文地址 vue組件中的data必須是函數 類比引用數據類型 Object是引用數據類型,如果不用function 返回,每個組件的data 都是內存的同一個地址,一個數據改變了其他也改變了; javascipt只有函數構成作用域(注意理解作用域,只有函數的{}構成 ...
一個組件的 data 選項必須是一個函數 如果data是一個函數的話,這樣每復用一次組件,就會返回一份新的data,類似於給每個組件實例創建一個私有的數據空間,讓各個組件實例維護各自的數據。而單純的寫成對象形式,就使得所有組件實例共用了一份data,就會造成一個變了全都會變的結果。 所以說vue組件的data必須是函數。這都是因為js的特性帶來的,跟vue本身設計無關。 因為在JS 中只有函數才存 ...
2020-09-08 13:53 0 509 推薦指數:
原文地址 vue組件中的data必須是函數 類比引用數據類型 Object是引用數據類型,如果不用function 返回,每個組件的data 都是內存的同一個地址,一個數據改變了其他也改變了; javascipt只有函數構成作用域(注意理解作用域,只有函數的{}構成 ...
1. 前言 在學習vue的時候,一直納悶一件事:組件的data數據為什么必須要以函數返回的形式,為什么不是簡單的對象形式呢?遂帶着問題去翻官方文檔,文檔中自然也寫明了這么做的原因,本篇博文以官方文檔給出的原因為基礎,並加上具體的例子,來闡述這么設計的原因。 回到頂部 2.正文 ...
效果圖 ...
在創建或注冊模板的時候,傳入一個data屬性作為用來綁定的數據。但是在組件中,data必須是一個函數,而不能直接把一個對象賦值給它。 Vue 實例的數據對象。Vue 將會遞歸將 data 的屬性轉換為 getter/setter,從而讓 data 的屬性能夠響應數據變化。對象 ...
分析如上代碼: 1、首先創建一個名字為counter的組件,data函數中返回一個外部定義的對象的值,如果直接給data屬性設置一個對象而不是函數,那么會在瀏覽器中直接報錯 2、在瀏覽器中運行代碼 每次點擊+1按鈕,下邊的值就會加一 3、如果我們在頁面上同時使用三個 ...
一、vue組件中的data為什么是函數 為了保證組件的獨立性 和 可 復用性,data 是一個函數,組件實例化的時候這個函數將會被調用,返回一個對象,計算機會給這個對象分配一個內存地址,你實例化幾次,就分配幾個內存地址,他們的地址都不一樣,所以每個組件中的數據不會相互干擾,改變其中一 ...
...
Vue中的data屬性專門用來以對象方式存放數據,它有兩種用法。 但是在組件中,只接受第二種用法,即將data作為一個函數名、數據對象作為函數返回值來使用。因為組件可能被用來創建多個實例。如果data仍然是一個純粹的對象,則所有的實例將共享引用同一個數據對象!通過提供data函數 ...