vue官網在講解props的單向數據流時提到:額外的,每次父級組件發生更新時,子組件中所有的 prop 都將會刷新為最新的值。這意味著你不應該在一個子組件內部改變 prop。如果你這樣做了,Vue 會在瀏覽器的控制臺中發出警告。但是我測試,直接修改props的值,并未給出任何警告。大家有遇到嗎?
2 回答
嗶嗶one
TA貢獻1854條經驗 獲得超8個贊
接著往下看
在兩種情況下,我們很容易忍不住想去修改 prop 中數據:
Prop 作為初始值傳入后,子組件想把它當作局部數據來用;
Prop 作為原始數據傳入,由子組件處理成其它數據輸出。
對這兩種情況,正確的應對方式是:
定義一個局部變量,并用 prop 的值初始化它:
props: ['initialCounter'],
data: function () { return { counter: this.initialCounter }
}
定義一個計算屬性,處理 prop 的值并返回:
props: ['size'],
computed: {
normalizedSize: function () { return this.size.trim().toLowerCase()
}
}添加回答
舉報
0/150
提交
取消
