最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VUE中data配置項(xiàng)詳細(xì)解析

 更新時(shí)間:2023年02月27日 11:25:51   作者:三千洲  
data屬性是Vue實(shí)例的數(shù)據(jù)對象,可以綁定的是對象或者是函數(shù),下面這篇文章主要給大家介紹了關(guān)于VUE中data配置項(xiàng)詳細(xì)解析的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1.data是什么?有什么作用?

data是Vue實(shí)例中一個(gè)配置項(xiàng)。用來存儲vue實(shí)例或者組件里面的數(shù)值。

2.data的存在位置差異(data配置項(xiàng)存在于兩種位置)

2.1.當(dāng)data存在于Vue實(shí)例中時(shí),它既可以是以一個(gè)對象的形式(鍵值對)。

在Vue的data屬性定義以下數(shù)據(jù)類型:

1、字符串

2、整數(shù)

3、數(shù)組

4、對象

5、對象數(shù)組

data: {
                    // 定義字符串
                    name: "谷哥的小弟",
                    // 定義整數(shù)
                    number:9527,
                    // 定義數(shù)組
                    hobby:["籃球","足球","擊劍"],
                    // 定義對象
                    user:{id: 21, name: "zxx", age: 50},
                    // 定義對象數(shù)組
                    users:[
                        {id: 21, name: "zxx", age: 50},
                        {id: 22, name: "zxc", age: 51},
                        {id: 23, name: "zcc", age: 52},
                    ]
                }

2.1也可以是一個(gè)函數(shù)的形式。

const app = new Vue({
    el:"#app",
    // 對象格式
    data:{
        foo:"foo"
    },
    // 函數(shù)格式
    data(){
        return {
             foo:"foo"
        }
    }

2.2當(dāng)data存在于組件中時(shí),它只能是一個(gè)函數(shù)

Vue.component('component1',{
    template:`<div>組件</div>`,
     data(){
        return {
             foo:"foo"
        }
    }
})

3.為什么在組件中data只能是一個(gè)函數(shù)呢?

Vue的官方文檔中也有說組件中的data必須使用函數(shù)否則會(huì)報(bào)錯(cuò),這是為什么呢?

這就要追溯到我們的Jvascript的對象了,眾所周知Javascript的對象屬于引用數(shù)據(jù)類型,如果將一個(gè)對象賦值給另一個(gè)對象他并不是將該對象的值賦給新變量,而是在內(nèi)存中將起初申明的對象去指向這個(gè)新對象。

let obj = {
    name: "小明",
    age:19
}
let obj1 = obj 
obj.name = "小紅"
// 此時(shí)   obj1.name == "小紅"
// 并且   obj.name == "小紅"

這種情況下如果修改obj1中的屬性,obj的數(shù)據(jù)也會(huì)發(fā)生變化

為什么要提到這個(gè)呢 我們就要理解一下組件 其實(shí)就類似原生js的一個(gè)構(gòu)造函數(shù)

我們?nèi)フ{(diào)用的組件就是相當(dāng)于原生js我們?nèi)?shí)例化的對象加入我們申明一個(gè)構(gòu)造函數(shù) person并改變其中的值

    function Person(name,age){
        this.name = nmae;
        this.age = age ;
        this.race = "漢族"
    }
    let ming = new Person("xiaoming",19)
    let hong = new Person("xiaohong",20)
    console.log(ming)
    console.log(hong)
    // 此時(shí)如果我們把小明的名族改了
    ming.race="維吾爾族"
    console.log(ming)
    console.log(hong)
    // 我們再去查看一下會(huì)發(fā)現(xiàn),小明小紅都變成了維吾爾族

所以,為了防止對象的變量修改,在組件的data必須要用函數(shù)的形式存在,因?yàn)橹挥泻瘮?shù)有函數(shù)的封閉作用域,這也就是為什么Vue的設(shè)計(jì)者為什么在組件中使用了一個(gè)data卻再次return了一個(gè)對象。

總結(jié)

到此這篇關(guān)于VUE中data配置項(xiàng)詳細(xì)解析的文章就介紹到這了,更多相關(guān)VUE data配置項(xiàng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue?parseHTML?函數(shù)源碼解析AST基本形成

    vue?parseHTML?函數(shù)源碼解析AST基本形成

    這篇文章主要為大家介紹了vue?parseHTML?函數(shù)源碼解析AST基本形成,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • vue在mounted中window.onresize不生效問題及解決

    vue在mounted中window.onresize不生效問題及解決

    這篇文章主要介紹了vue中在mounted中window.onresize不生效問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue3?hook重構(gòu)DataV的全屏容器組件詳解

    vue3?hook重構(gòu)DataV的全屏容器組件詳解

    這篇文章主要為大家介紹了vue3?hook重構(gòu)DataV的全屏容器組件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • vue實(shí)現(xiàn)購物車案例

    vue實(shí)現(xiàn)購物車案例

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)購物車案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 解決vue router組件狀態(tài)刷新消失的問題

    解決vue router組件狀態(tài)刷新消失的問題

    這篇文章主要介紹了vue router組件狀態(tài)刷新消失的問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-08-08
  • 用Vue.js實(shí)現(xiàn)監(jiān)聽屬性的變化

    用Vue.js實(shí)現(xiàn)監(jiān)聽屬性的變化

    響應(yīng)系統(tǒng)是Vue.js的一個(gè)顯著功能,修改屬性,可以更新視圖,這讓狀態(tài)管理變得非常簡單且直觀。這篇文章主要給大家介紹如何利用Vue.js實(shí)現(xiàn)觀察屬性的變化,有需要的朋友們可以參考借鑒,感興趣的朋友們下面來一起看看吧。
    2016-11-11
  • Vue el-table 默認(rèn)展開某一行的實(shí)例

    Vue el-table 默認(rèn)展開某一行的實(shí)例

    這篇文章主要介紹了Vue el-table 默認(rèn)展開某一行的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • axios封裝,使用攔截器統(tǒng)一處理接口,超詳細(xì)的教程(推薦)

    axios封裝,使用攔截器統(tǒng)一處理接口,超詳細(xì)的教程(推薦)

    這篇文章主要介紹了axios封裝使用攔截器處理接口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Vue如何使用Element-ui表單發(fā)送數(shù)據(jù)與多張圖片到后端詳解

    Vue如何使用Element-ui表單發(fā)送數(shù)據(jù)與多張圖片到后端詳解

    在做項(xiàng)目的時(shí)候遇到一個(gè)問題,前端需要上傳表單到后端,表單數(shù)據(jù)包括文本內(nèi)容和圖片,這篇文章主要給大家介紹了關(guān)于Vue如何使用Element-ui表單發(fā)送數(shù)據(jù)與多張圖片到后端的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • vue3項(xiàng)目配置按需自動(dòng)引入自定義組件unplugin-vue-components方式

    vue3項(xiàng)目配置按需自動(dòng)引入自定義組件unplugin-vue-components方式

    這篇文章主要介紹了vue3項(xiàng)目配置按需自動(dòng)引入自定義組件unplugin-vue-components方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論

武穴市| 噶尔县| 新津县| 阜城县| 鱼台县| 大安市| 林西县| 化州市| 广昌县| 郧西县| 绍兴县| 侯马市| 民丰县| 吉木乃县| 宣恩县| 恩平市| 商城县| 永嘉县| 张家港市| 交城县| 南雄市| 太原市| 田林县| 宿州市| 永靖县| 定陶县| 邯郸市| 平阳县| 施秉县| 白沙| 开封县| 观塘区| 石门县| 富川| 宁国市| 司法| 巴彦县| 达州市| 雷山县| 鄯善县| 平乐县|