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

vue3 子組件上綁定(v-model=“xx“) 父組件傳過來的值后報(bào)錯(cuò)

這篇具有很好參考價(jià)值的文章主要介紹了vue3 子組件上綁定(v-model=“xx“) 父組件傳過來的值后報(bào)錯(cuò)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

遇到的問題

vue3的項(xiàng)目中, 升級(jí)了vant的版本(^4.0.7)后, 子組件中用v-model的地方出現(xiàn)了報(bào)錯(cuò)

報(bào)錯(cuò)的內(nèi)容

v-model cannot be used on a prop, because local prop bindings are not writable.
Use a v-bind binding combined with a v-on listener that emits update:x event instead.

解決問題

在閱讀vue3的文檔中看到了這么一段話

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

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

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

最后聲明了局部屬性后 上邊的報(bào)錯(cuò)消失

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

局部屬性定義在了watch里
vue3 子組件上綁定(v-model=“xx“) 父組件傳過來的值后報(bào)錯(cuò)#pic_center

watch(() => props.isSortPopup, (newVal, oldVal) => {
  a.value = props.sortArr;
})

isSortPopup 是一個(gè)狀態(tài), 發(fā)現(xiàn)直接監(jiān)聽父組件值的話  并不是每次都觸發(fā), 所以在關(guān)閉, 打開的加了一個(gè)標(biāo)識(shí)
這樣每次就可以監(jiān)聽到數(shù)據(jù)的變化

附章節(jié)鏈接, 僅供參考, 如有錯(cuò)誤, 歡迎指出, 隨時(shí)交流
https://cn.vuejs.org/guide/components/props.html#one-way-data-flow
文檔上的內(nèi)容其實(shí)并沒有看太明白
不知道怎么去computed
為什么會(huì)定義在watch里呢
發(fā)現(xiàn)直接去a.value = props.sortArr 的話 得到的是一個(gè)初始值, 也就是父組件在聲明sortArr的最初狀態(tài)
const sortArr = ref([]);文章來源地址http://www.zghlxwxcb.cn/news/detail-441212.html

到了這里,關(guān)于vue3 子組件上綁定(v-model=“xx“) 父組件傳過來的值后報(bào)錯(cuò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

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

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

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

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

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

    2024年02月11日
    瀏覽(21)
  • Vue3.2+TS的組件間的v-model傳值

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

    2024年02月13日
    瀏覽(26)
  • Vue3-在HTML標(biāo)簽、組件標(biāo)簽上使用v-model

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

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

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

    2024年01月15日
    瀏覽(29)
  • 【vue3】10-vue組件化額外知識(shí)補(bǔ)充(下)-動(dòng)態(tài)組件-組件緩存-v-model在組件上的應(yīng)用

    【vue3】10-vue組件化額外知識(shí)補(bǔ)充(下)-動(dòng)態(tài)組件-組件緩存-v-model在組件上的應(yīng)用

    切換組件案例: 比如我們現(xiàn)在想要實(shí)現(xiàn)了一個(gè)功能: 點(diǎn)擊一個(gè)tab-bar,切換不同的組件顯示; 這個(gè)案例我們可以通過兩種不同的實(shí)現(xiàn)思路來實(shí)現(xiàn): 方式一 :通過v-if來判斷,顯示不同的組件; 方式二 :動(dòng)態(tài)組件的方式; 方式一代碼示例: 動(dòng)態(tài)組件方式實(shí)現(xiàn) 動(dòng)態(tài)組件是使用 component組

    2024年02月08日
    瀏覽(20)
  • vue3中setup的兩個(gè)參數(shù) props,context (attrs,emit,slots),vue3中的雙向數(shù)據(jù)綁定自定義事件emit和v-model

    vue3中setup的兩個(gè)參數(shù) props,context (attrs,emit,slots),vue3中的雙向數(shù)據(jù)綁定自定義事件emit和v-model

    目錄 setup函數(shù) props參數(shù) 案例 第一種寫法(用setup函數(shù)的方式): ?第二種方法(語法糖形式即setup寫入script標(biāo)簽中)也可以傳值, ?context (attrs,emit,slots) vue3中的雙向數(shù)據(jù)綁定自定義事件emit和v-model emit自定義事件 v-model 有兩個(gè)參數(shù)分別是 props,context 即 props參數(shù)是一個(gè) 對(duì)象 ,

    2024年02月10日
    瀏覽(16)
  • vue3 antd項(xiàng)目實(shí)戰(zhàn)——Form表單的提交與校驗(yàn)【v-model雙向綁定input輸入框、form表單數(shù)據(jù),動(dòng)態(tài)校驗(yàn)規(guī)則】

    vue3 antd項(xiàng)目實(shí)戰(zhàn)——Form表單的提交與校驗(yàn)【v-model雙向綁定input輸入框、form表單數(shù)據(jù),動(dòng)態(tài)校驗(yàn)規(guī)則】

    本文依舊沿用 ant design vue 組件庫和 ts 語言????更多內(nèi)容見Ant Design Vue官方文檔 ???? vue3 antd項(xiàng)目實(shí)戰(zhàn)——Form表單【后臺(tái)管理系統(tǒng) v-model數(shù)據(jù)的雙向綁定,input輸入框、Radio單選框的嵌套使用】 在上期文章中,我們完成了 UI界面的渲染 (渲染效果如下圖),本期文章將帶著大

    2023年04月22日
    瀏覽(24)
  • Vue3中v-model在原生元素和自定義組件上的使用

    Vue3中v-model在原生元素和自定義組件上的使用

    目錄 前言 一、原生元素上的用法 1.?輸入框(input) 2.?多行文本域(textarea) 3.?單選按鈕(radio) 4.?多選框(checkbox)? 5.?下拉選擇框(select)? 二、自定義組件上的用法 1.?定義一個(gè)名為 modelValue 的 props 屬性和一個(gè)名為 update:modelValue 的事件 2.使用一個(gè)可寫的,同時(shí)具有 getter 和 setter

    2024年02月14日
    瀏覽(49)
  • vue3 組件響應(yīng)式v-model 失效,實(shí)踐踩坑,一文搞懂組件響應(yīng)式原理,對(duì)初學(xué)者友好

    vue3 組件響應(yīng)式v-model 失效,實(shí)踐踩坑,一文搞懂組件響應(yīng)式原理,對(duì)初學(xué)者友好

    vue3的v-model已經(jīng)有了變化,假如你還不知道其中細(xì)節(jié),看完這篇文章你就完全明白了,我以踩坑的場景來進(jìn)行解析。起因是在我的項(xiàng)目中需要一個(gè)輸入框組件,這個(gè)組件用來根據(jù)輸入異步查詢系統(tǒng)內(nèi)已有人員,而且在多個(gè)地方需要用到這個(gè)輸入框,所以必須要封裝成組件,但

    2024年02月02日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包