日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

vue学习笔记之:为何data是一个方法

發(fā)布時(shí)間:2025/3/15 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue学习笔记之:为何data是一个方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

vue學(xué)習(xí)筆記之:為何data是一個(gè)方法

在vue開發(fā)中,我們可以發(fā)現(xiàn),data中的屬性值是在function中return出來的。可為何data必須是一個(gè)函數(shù)呢?我們先看官方的解釋:

當(dāng)一個(gè)組件被定義, data 必須聲明為返回一個(gè)初始數(shù)據(jù)對(duì)象的函數(shù),因?yàn)榻M件可能被用來創(chuàng)建多個(gè)實(shí)例。如果 data 仍然是一個(gè)純粹的對(duì)象,則所有的實(shí)例將共享引用同一個(gè)數(shù)據(jù)對(duì)象!通過提供 data 函數(shù),每次創(chuàng)建一個(gè)新實(shí)例后,我們能夠調(diào)用 data 函數(shù),從而返回初始數(shù)據(jù)的一個(gè)全新副本數(shù)據(jù)對(duì)象

而我對(duì)這句話的理解是:

類比與引用數(shù)據(jù)類型。如果不用function return 每個(gè)組件的data都是內(nèi)存的同一個(gè)地址,那一個(gè)數(shù)據(jù)改變其他也改變了,這當(dāng)然就不是我們想要的。用function return 其實(shí)就相當(dāng)于申明了新的變量,相互獨(dú)立,自然就不會(huì)有這樣的問題;js在賦值object對(duì)象時(shí),是直接一個(gè)相同的內(nèi)存地址。所以為了每個(gè)組件的data獨(dú)立,采用了這種方式。如果不是組件的話,正常data的寫法可以直接寫一個(gè)對(duì)象,比如data:{ msg : ' 下載 ' },但由于組件是會(huì)在多個(gè)地方引用的,JS中直接共享對(duì)象會(huì)造成引用傳遞,也就是說修改了msg后所有按鈕的msg都會(huì)跟著修改,所以這里用function來每次返回一個(gè)對(duì)象實(shí)例

?

轉(zhuǎn)載于:https://www.cnblogs.com/momozjm/p/8572385.html

總結(jié)

以上是生活随笔為你收集整理的vue学习笔记之:为何data是一个方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。