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

vue修改props數(shù)據(jù)報(bào)錯(cuò)的問(wèn)題及解決

 更新時(shí)間:2024年08月29日 10:48:35   作者:小吳吳吳呀  
這篇文章主要介紹了vue修改props數(shù)據(jù)報(bào)錯(cuò)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

修改props中的數(shù)據(jù)的問(wèn)題

在 Shop.vue 組件中使用 props 的數(shù)組寫法接收參數(shù) 并在 methods 中創(chuàng)建 add 方法 點(diǎn)擊讓商品數(shù)量加一。

<template>
    <div>
        <h2>商品名稱:{{ name }}</h2>
        <strong>商品價(jià)格:¥{{ price }}</strong>
        <p>商品數(shù)量:{{ num }}</p>
        <button @click="add">點(diǎn)擊商品數(shù)量加1</button>
        <hr />
    </div>
</template>
<script>
export default {
    name: "Shop",
    props: ['name', 'price', 'num'],
    methods: {
        add() {
            this.num++;
        }
    }
}
</script>

然后在 Home.vue 頁(yè)面正常引入傳參 將 num 用 v-bind 綁定 避免傳遞字符串類型。

<template>
    <div>
        <h2>商品列表</h2>
        <hr />
        <Shop name="草莓" price="99" :num="50"></Shop>
        <Shop name="蘋果" price="30" :num="30"></Shop>
        <Shop name="葡萄" price="56" :num="20"></Shop>
    </div>
</template>
<script>
import Shop from "../components/Shop";
export default {
    name: 'Home',
    components: { Shop }
}
</script>

注:點(diǎn)擊后雖然商品數(shù)量能夠增加 但控制臺(tái)也會(huì)報(bào)錯(cuò)提醒 因?yàn)檫@么做會(huì)出現(xiàn)一些莫名其妙的問(wèn)題 所以 Vue 不推薦直接更改 props 中的數(shù)據(jù)。

正確修改方式

如果需要修改接收到的參數(shù) 推薦在 data 中創(chuàng)建一個(gè)新數(shù)據(jù)接收 props 中的數(shù)據(jù)然后使用這個(gè)新數(shù)據(jù)即可。

<template>
    <div>
        <h2>商品名稱:{{ name }}</h2>
        <strong>商品價(jià)格:¥{{ price }}</strong>
        <p>商品數(shù)量:{{ myNum }}</p>
        <button @click="add">點(diǎn)擊商品數(shù)量加1</button>
        <hr />
        
    </div>
</template>
<script>
export default {
    name: "Shop",
    props: ['name', 'price', 'num'],
    data() {
        return {
            myNum: this.num
        }
    },
    methods: {
        add() {
            this.myNum++;
        }
    }
}
</script>

注:

這樣就可以解決這個(gè)問(wèn)題啦 因?yàn)?props 的優(yōu)先級(jí)要高于 data 所以我們能在 data 中使用 props 中的數(shù)據(jù) 另外 props 的數(shù)據(jù)也是在組件實(shí)例上綁定的 所以需要用 this 調(diào)用。

需要注意 data 中的數(shù)據(jù)名不要和 props 中的數(shù)據(jù)名一樣 否則會(huì)報(bào)錯(cuò)。

例:

<template>
    <div>
        <h2>商品名稱:{{ name }}</h2>
        <strong>商品價(jià)格:¥{{ price }}</strong>
        <p>商品數(shù)量:{{ num }}</p>
        <button @click="add">點(diǎn)擊商品數(shù)量加1</button>
        <hr />
    </div>
</template>
<script>
export default {
    name: "Shop",
    props: ['name', 'price', 'num'],
    data() {
        return {
            num: 9
        }
    },
    methods: {
        add() {
            this.num++;
        }
    }
}
</script>

注:

如果 data 和 props 中存在一樣的數(shù)據(jù)名 默認(rèn)會(huì)使用 props 中的數(shù)據(jù)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vant遇到van-sidebar數(shù)據(jù)超出不能滑動(dòng)的問(wèn)題

    vant遇到van-sidebar數(shù)據(jù)超出不能滑動(dòng)的問(wèn)題

    這篇文章主要介紹了vant遇到van-sidebar數(shù)據(jù)超出不能滑動(dòng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • nuxt.js 緩存實(shí)踐

    nuxt.js 緩存實(shí)踐

    這篇文章主要介紹了nuxt.js 緩存實(shí)踐,nuxt 的緩存可以分為 組件級(jí)別緩存 , API級(jí)別緩存 以及 頁(yè)面級(jí)別緩存,本文就詳細(xì)的介紹了這三種緩存,感興趣的小伙伴們可以參考一下
    2018-06-06
  • vue3標(biāo)簽中的ref屬性詳解及如何使用$refs獲取元素

    vue3標(biāo)簽中的ref屬性詳解及如何使用$refs獲取元素

    這篇文章主要給大家介紹了關(guān)于vue3標(biāo)簽中的ref屬性詳解及如何使用$refs獲取元素的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-11-11
  • vue3中defineEmits的使用舉例詳解

    vue3中defineEmits的使用舉例詳解

    這篇文章主要給大家介紹了關(guān)于vue3中defineEmits使用的相關(guān)資料,在Vue3中可以使用defineEmits函數(shù)來(lái)定義組件的自定義事件,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • Vue中的change事件無(wú)效問(wèn)題及解決

    Vue中的change事件無(wú)效問(wèn)題及解決

    這篇文章主要介紹了Vue中的change事件無(wú)效問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue關(guān)于element穿梭框進(jìn)行的修改成table表格穿梭框方式

    Vue關(guān)于element穿梭框進(jìn)行的修改成table表格穿梭框方式

    這篇文章主要介紹了Vue關(guān)于element穿梭框進(jìn)行的修改成table表格穿梭框方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vue.js動(dòng)態(tài)設(shè)置VueComponent高度遇到的問(wèn)題及解決

    vue.js動(dòng)態(tài)設(shè)置VueComponent高度遇到的問(wèn)題及解決

    這篇文章主要介紹了vue.js動(dòng)態(tài)設(shè)置VueComponent高度遇到的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • axios上傳文件錯(cuò)誤:Current?request?is?not?a?multipart?request解決

    axios上傳文件錯(cuò)誤:Current?request?is?not?a?multipart?request

    最近工作中使用vue上傳文件的時(shí)候遇到了個(gè)問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于axios上傳文件錯(cuò)誤:Current?request?is?not?a?multipart?request解決的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 一文教你徹底解決Vue3中的ResizeObserver警告

    一文教你徹底解決Vue3中的ResizeObserver警告

    這篇文章主要為大家詳細(xì)介紹了介紹了Vue3中出現(xiàn)ResizeObserver loop completed with undelivered notifications錯(cuò)誤的相關(guān)解決方法,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-05-05
  • Vue2.x響應(yīng)式簡(jiǎn)單講解及示例

    Vue2.x響應(yīng)式簡(jiǎn)單講解及示例

    這篇文章主要介紹了Vue2.x響應(yīng)式及簡(jiǎn)單的示例,應(yīng)用了簡(jiǎn)單的源代碼進(jìn)行講解,感興趣的小伙伴可以參考一下,希望可以幫助到你
    2021-08-08

最新評(píng)論

霍林郭勒市| 海淀区| 巢湖市| 韩城市| 武安市| 中牟县| 甘洛县| 长宁县| 蓬安县| 喀喇| 浦城县| 普陀区| 左云县| 玉树县| 兴安盟| 墨玉县| 恩施市| 漳州市| 留坝县| 海安县| 关岭| 祥云县| 卓资县| 和政县| 沭阳县| 金昌市| 理塘县| 出国| 宣威市| 平陆县| 阿巴嘎旗| 平昌县| 阜宁县| 大丰市| 红安县| 彭山县| 金秀| 湟源县| 敖汉旗| 海兴县| 阜新市|