91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue組件更新數據v-model不生效怎么解決

發布時間:2022-04-02 09:19:59 來源:億速云 閱讀:568 作者:iii 欄目:開發技術

今天小編給大家分享一下Vue組件更新數據v-model不生效怎么解決的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

組件更新數據v-model不生效

問題描述

在使用Vue雙向綁定(v-model)功能時,封裝子組件通過Inject功能使用了父組件中的 model 中的屬性進行雙向綁定,此時在程序中去更新model的某個屬性的值,發現子組件沒有實時渲染。

原因分析

由于 JavaScript 的限制,Vue 不能檢測數組和對象的變化。盡管如此我們還是有一些辦法來回避這些限制并保證它們的響應性。

詳見:檢測變化注意事項

## 解決方案 對于這種對象變化,我們有三種方法去解決:

方法一

使用Vue.set(object,key,value)

Vue.set(vm.obj,"sex","man")

方法二

使用this.$set(this.object,key,value)

this.$set(this.obj,"sex","man")

方法三

使用**Object.assign({},this.obj)**重新賦值

this.obj.sex = "man";
this.obj = Object.assign({},this.obj)

總結:前兩種方式都是應用了Vue內置的set方法去觸發對象數據的檢測,第三種方式使用的Vue的特性,對跟節點下的數據變更的自動檢測。
 

關于v-model失效的問題

在父子組件中,例如iview的table組件中的slot,該函數相對比于table所在附件為父子組件,父子組件的v-model不會是雙向綁定,只是單向傳值,這是vue的機制問題,原因是不想讓子組件污染父組件的數據環境,所以使用的單向傳輸,經過測試,使用on-change,on-blur等,均存在不同的問題,input如果使用on-change,修改數據源會導致輸一個字符,然后更新到v-model綁定的數據源上,然后由于數據源的更新,就會導致該組件的再次渲染,input將會失去焦點,使用v-blur則會導致點擊其他按鈕時,第一次點擊,失去input的焦點,執行綁定的方法,第二次點擊才會生效。

解決辦法

特別的土,聲明一個新的數據源,然后使用on-change改變新的數據源,然后再特定的情況下,比如提交等時機,將新的數據源賦給老的數據源,這樣就不會引起問題。

以上就是“Vue組件更新數據v-model不生效怎么解決”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

儋州市| 嵊泗县| 玛沁县| 肃北| 罗平县| 东辽县| 衡阳市| 平武县| 措勤县| 东乡县| 海伦市| 富平县| 信丰县| 繁昌县| 台南市| 合川市| 扎赉特旗| 高淳县| 安龙县| 虞城县| 二连浩特市| 桦甸市| 丽江市| 西藏| 阳原县| 原阳县| 竹山县| 扎囊县| 宾川县| 靖边县| 镇远县| 桃源县| 九寨沟县| 金昌市| 长泰县| 黄冈市| 利津县| 五莲县| 武强县| 昌吉市| 新津县|