国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue3 v-model cannot be used on a prop,

這篇具有很好參考價值的文章主要介紹了Vue3 v-model cannot be used on a prop,。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在官網(wǎng)均可找到解決方案

單向數(shù)據(jù)流

所有的 props 都遵循著單向綁定原則,props 因父組件的更新而變化,自然地將新的狀態(tài)向下流往子組件,而不會逆向傳遞。這避免了子組件意外修改父組件的狀態(tài)的情況,不然應用的數(shù)據(jù)流將很容易變得混亂而難以理解。

另外,每次父組件更新后,所有的子組件中的 props 都會被更新到最新值,這意味著你不應該在子組件中去更改一個 prop。若你這么做了,Vue 會在控制臺上向你拋出警告:

export default {
  props: ['foo'],
  created() {
    // ? 警告!prop 是只讀的!
    this.foo = 'bar'
  }
}

導致你想要更改一個 prop 的需求通常來源于以下兩種場景:

  1. prop 被用于傳入初始值;而子組件想在之后將其作為一個局部數(shù)據(jù)屬性。在這種情況下,最好是新定義一個局部數(shù)據(jù)屬性,從 props 上獲取初始值即可:

export default {
  props: ['initialCounter'],
  data() {
    return {
      // 計數(shù)器只是將 this.initialCounter 作為初始值
      // 像下面這樣做就使 prop 和后續(xù)更新無關(guān)了
      counter: this.initialCounter
    }
  }
}

?2.?需要對傳入的 prop 值做進一步的轉(zhuǎn)換。在這種情況中,最好是基于該 prop 值定義一個計算屬性:

export default {
  props: ['size'],
  computed: {
    // 該 prop 變更時計算屬性也會自動更新
    normalizedSize() {
      return this.size.trim().toLowerCase()
    }
  }
}

另一種在組件內(nèi)實現(xiàn)?v-model?的方式是使用一個可寫的,同時具有 getter 和 setter 的計算屬性。get?方法需返回?modelValue?prop,而?set?方法需觸發(fā)相應的事件:文章來源地址http://www.zghlxwxcb.cn/news/detail-422180.html

<!-- CustomInput.vue -->
<script>
export default {
  props: ['modelValue'],
  emits: ['update:modelValue'],
  computed: {
    value: {
      get() {
        return this.modelValue
      },
      set(value) {
        this.$emit('update:modelValue', value)
      }
    }
  }
}
</script>

<template>
  <input v-model="value" />
</template>

到了這里,關(guān)于Vue3 v-model cannot be used on a prop,的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • vue3 的v-model語法糖

    vue3 的v-model語法糖

    Vue2的v-model默認解析成:value與@input Vue3的v-model默認解析成:modelValue與@update:modelValue 所以要是想通過封裝組件支持v-model的使用,用v-model語法糖無疑是最好的選擇 子組件定義使用modelValue進行接收父組件傳遞過來的值,定義事件update:modelValue通知父組件改變一些事情 舉例使用:

    2024年02月03日
    瀏覽(26)
  • Vue3:有關(guān)v-model的用法

    Vue3:有關(guān)v-model的用法

    目錄 前言: 回憶基本的原生用法: 原生input的封裝: 自定義v-model參數(shù): 對el-input的二次封裝: 多個v-model進行綁定: v-model修飾符: v-model自定義參數(shù)與自定義修飾符的結(jié)合: ? ? ? ? 提起v-model,想必都不陌生,作為vue的經(jīng)典語法,幫助我們在編寫項目的時候,省了很多很多

    2024年02月05日
    瀏覽(28)
  • vue3 系列:自定義 v-model

    1. input 中的 v-model 2. naive-ui 組件二次封裝 v-model

    2024年02月07日
    瀏覽(22)
  • vue3 子組件實現(xiàn)v-model用法

    在Vue 3中,實現(xiàn)自定義的 input 組件并支持 v-model 綁定,涉及到對 modelValue 這個默認prop的處理和對應的 update:modelValue 事件的觸發(fā)。Vue 3使得這個過程比Vue 2更為簡化和靈活,尤其是在可以自定義綁定的屬性和事件名方面。 步驟 1: 創(chuàng)建自定義Input組件 首先,創(chuàng)建一個自定義的I

    2024年04月27日
    瀏覽(18)
  • 組件v-model(.sync)記錄使用(vue3)

    組件v-model(.sync)記錄使用(vue3)

    首先,讓我們來了解一下Vue3中v-model的用法。在Vue3中, v-model 指令可以用于自定義組件上,用于實現(xiàn)組件的雙向數(shù)據(jù)綁定。與Vue2中的 .sync 不同, Vue3中的v-model需要在組件中手動實現(xiàn)雙向綁定邏輯。 下面是一個簡單的父組件示例,展示了如何在Vue3中使用 v-model 來實現(xiàn)組件的雙

    2024年01月19日
    瀏覽(26)
  • vue3探索——組件通信之v-model父子組件數(shù)據(jù)同步

    再很多場景中,我們可能想在子組件中修改父組件的數(shù)據(jù),但事實上,vue不推薦我們這么做,因為數(shù)據(jù)的修改不容易溯源。 在vue2中,我們使用 .sync 修飾符+自定義事件 \\\'update:xxx\\\' ,來使父子組件數(shù)據(jù)同步。 這里不作過多說明,有需要請自行了解。 vue3的寫法與vue2基本一致。最

    2024年02月11日
    瀏覽(22)
  • Vue3-在HTML標簽、組件標簽上使用v-model

    本篇為Vue3學習中遇到的v-model相關(guān)的記錄,如有問題歡迎指正 v-model通常在input、select等標簽上來實現(xiàn)數(shù)據(jù)雙向綁定 原理 :v-model通過給標簽value賦值來實現(xiàn)? 數(shù)據(jù)—頁面 的綁定。然后通過綁定input事件實現(xiàn) 頁面—數(shù)據(jù) 的綁定。 原理 :在組件上時,v-model通過 :modelValue 來進行

    2024年01月24日
    瀏覽(26)
  • Vue3.2+TS的組件間的v-model傳值

    組件之間的v-model,為什么可以v-model,大家可以去看看v-model的原理,然后就會發(fā)現(xiàn)這個方法一目了然。 父組件 子組件 假如子組件需要按照某個方法變化,那么可以自己定義,比如需要自增加50

    2024年02月13日
    瀏覽(27)
  • vue3中l(wèi)和vue2中v-model不同點

    vue2比較讓人詬病的一點就是提供了兩種雙向綁定:v-model和.sync, 在vue3中,去掉了.sync修飾符,只需要使用v-model進行雙向綁定即可。 為了讓v-model更好的針對多個屬性進行雙向綁定(vue2中自定義組件中v-model只能使用一次),vue3做出了以下修改: 1、當對自定義組件使用v-mod

    2024年01月21日
    瀏覽(23)
  • 【Vue技巧】Vue2和Vue3組件上使用v-model的實現(xiàn)原理

    ChatGPT4.0國內(nèi)站點,支持GPT4 Vision 視覺模型:海鯨AI 在Vue中, v-model 是一個語法糖,用于在輸入框、選擇框等表單元素上創(chuàng)建雙向數(shù)據(jù)綁定。當你在自定義組件中實現(xiàn) v-model 功能時,你需要理解它背后的原理: v-model 實際上是一個屬性和一個事件的簡寫。 在 Vue 2.x 中, v-mode

    2024年01月15日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包