重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
這篇文章主要介紹了vue中怎么讓子組件修改父組件數(shù)據(jù)的方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、關(guān)于vue中watch的認(rèn)識(shí)
我們要監(jiān)聽一個(gè)屬性的的變化就使用watch一般是父組件傳遞給子組件的時(shí)候
?1、常見的使用場(chǎng)景
... watch:{ value(val) { console.log(val); this.visible = val; } } ...
?2、如果要一開始就執(zhí)行
... watch: { firstName: { handler(newName, oldName) { this.fullName = newName + '-' + this.lastName; }, immediate: true, } } ...
?3、深度監(jiān)聽(數(shù)組、對(duì)象)
... watch: { obj: { handler(newName, oldName) { console.log('///') }, immediate: true, deep: true, } ...
二、關(guān)于子組件修改父組件屬性認(rèn)識(shí)
在vue2.0+ 后不再是雙向綁定,如果要進(jìn)行雙向綁定需要特殊處理。
[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "你修改的屬性名"
?1、通過事件發(fā)送給父組件來修改
**在子組件test1中**{{item}}
... methods: { add() { // 直接把數(shù)據(jù)發(fā)送給父組件 this.$emit('update', this.book); this.book = ''; }, }, **在父組件中**... addBook(val) { this.books = new Array(val) },
?2、使用.sync 來讓子組件修改父組件的值(其實(shí)是上面方法的精簡(jiǎn)版)
**在父組件中,直接在需要傳遞的屬性后面加上.sync****在子組件中** {{word}}
?3、在子組件中拷貝一份副本
**子組件中** export default { props: { // 已經(jīng)選中的 checkModalGroup: { type: Array, default: [], required: false, } }, data() { return{ copyCheckModalGroup: this.checkModalGroup, // 選中的 } }, methods: { // 一個(gè)一個(gè)的選擇 checkAllGroupChange(data) { // 把當(dāng)前的發(fā)送給父組件 this.$emit('updata', data); }, }, watch: { checkModalGroup(newVal, oldVal) { this.copyCheckModalGroup = newVal; } } } **父組件中直接更新傳遞給子組件的數(shù)據(jù)就可以** ... // 更新子組件數(shù)據(jù) roleCheckUpdata(data) { this.roleGroup = data; }, ...
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“vue中怎么讓子組件修改父組件數(shù)據(jù)的方法”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。