在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vue動(dòng)態(tài)prop綁定的是一個(gè)Object類(lèi)型的變量,子組件可以修改其中的屬性嗎

vue動(dòng)態(tài)prop綁定的是一個(gè)Object類(lèi)型的變量,子組件可以修改其中的屬性嗎

在vue.js里因?yàn)閱蜗騻鬟f的原因,直接子組件修改obj指向的對(duì)象肯定報(bào)錯(cuò),但是改obj里某個(gè)屬性就沒(méi)事,但是這樣做好嗎,可以這樣改嗎。
比如:
父組件
clipboard.png
clipboard.png

子組件
clipboard.png

我在sf里面找了半天找到了一個(gè)答案是這么說(shuō)的:

可以是可以,但是這樣做會(huì)破壞flux單向數(shù)據(jù)流,而且很多時(shí)候無(wú)法觸發(fā)prop數(shù)組的watcher,導(dǎo)致報(bào)錯(cuò)或者警告,正確的做法還是要用自定義事件的方式
相對(duì)比較方便的方式是,在父組件綁定子組件的屬性時(shí),添加.sync修飾符,然后在子組件中通過(guò)$emit('update:綁定的屬性名',val)

我覺(jué)得這個(gè)說(shuō)的比較詳細(xì)一點(diǎn),還是感謝各位給我的答案

回答
編輯回答
初念

vue中是可以修改對(duì)象的屬性的,這樣做好不好看你自己的取舍吧,我覺(jué)得修改沒(méi)關(guān)系

2017年4月19日 01:32
編輯回答
孤巷

不能修改,這是單向的,如果要反向修改父組件數(shù)據(jù),可以參考組件間通信

2017年12月19日 23:43
編輯回答
伴謊

不行,props是單向綁定的
官網(wǎng)描述

2017年10月7日 18:08
編輯回答
你的瞳

可以看一下 vue組件間通信的第二種

2017年12月17日 03:34
編輯回答
忠妾

這樣是不能修改父組件中data的,修改的只是子組件中的變量,相當(dāng)于子組件copy了一份props傳遞過(guò)來(lái)的數(shù)據(jù)。

clipboard.png

正確的處理辦法是:
1、使用this.$emit('xxxx'(父組件方法), '我是子元素傳過(guò)來(lái)的參數(shù)')
2、使用vuex中的commit提交mutation或者dispatch分發(fā)action

2017年6月24日 19:57