鍍金池/ 問答/HTML/ vue父組件向子組件傳遞數(shù)據(jù),如果傳遞的值是一個對象某個屬性的值,對象改變了,那

vue父組件向子組件傳遞數(shù)據(jù),如果傳遞的值是一個對象某個屬性的值,對象改變了,那么子組件接受的值會變么?

  1. 大致代碼如下:

假設傳遞給PopTipTransfer子組件scopeDfaultValue值為this.selectScopes第一個對象的value值,當子組件觸發(fā)事件selectItemChange傳遞給父組件,在selectItemChange中,對this.selectScopes這個數(shù)組進行了替換,那么,請問父組件傳遞給子組件scopesDefaultValue會受影響么?
請詳細解釋下原因,非常感謝?。。。?!

h('PopTipTransfer', {
    props: {
        scopeDefaultValue: this.selectScopes[0].value **
    },
    on: {
        selectItemChange: (itemValue) => {
            for (let item of this.itemTypes) {
                if (itemValue === item.value) {
                    this.selectScopes = item.scopes;
                }
            }
        },
    }
}
回答
編輯回答
赱丅呿

會改變,官方文檔有說明

Prop
是單向綁定的:當父組件的屬性變化時,將傳導給子組件,但是反過來不會。這是為了防止子組件無意間修改了父組件的狀態(tài),來避免應用的數(shù)據(jù)流變得難以理解。
另外,每次父組件更新時,子組件的所有 prop 都會更新為最新值。這意味著你不應該在子組件內(nèi)部改變 prop。如果你這么做了,Vue
會在控制臺給出警告。
2017年4月4日 02:45