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

鍍金池/ 問答/HTML/ vue中直接修改props中的值并未給出警告,為啥

vue中直接修改props中的值并未給出警告,為啥

vue官網(wǎng)在講解props的單向數(shù)據(jù)流時(shí)提到:

額外的,每次父級(jí)組件發(fā)生更新時(shí),子組件中所有的 prop 都將會(huì)刷新為最新的值。這意味著你不應(yīng)該在一個(gè)子組件內(nèi)部改變 prop。如果你這樣做了,Vue 會(huì)在瀏覽器的控制臺(tái)中發(fā)出警告。

但是我測(cè)試,直接修改props的值,并未給出任何警告。
大家有遇到嗎?

回答
編輯回答
離夢(mèng)

2018年8月19日 22:04
編輯回答
終相守

單向數(shù)據(jù)瀏覽不允許你做修改操作,如果可以修改,每個(gè)組件都能對(duì)數(shù)據(jù)進(jìn)行操作,這樣無法有效的追蹤數(shù)據(jù)的變化

2017年12月8日 21:03
編輯回答
茍活

如果props傳入的值是引用類型,在子組件中改變其元素,不改變引用,那么不報(bào)錯(cuò)。
如果是普通類型,那么在修改時(shí)瀏覽器控制臺(tái)會(huì)有報(bào)錯(cuò)信息

2017年5月20日 11:43
編輯回答
陌顏

接著往下看

在兩種情況下,我們很容易忍不住想去修改 prop 中數(shù)據(jù):

Prop 作為初始值傳入后,子組件想把它當(dāng)作局部數(shù)據(jù)來用;

Prop 作為原始數(shù)據(jù)傳入,由子組件處理成其它數(shù)據(jù)輸出。

對(duì)這兩種情況,正確的應(yīng)對(duì)方式是:

定義一個(gè)局部變量,并用 prop 的值初始化它:

props: ['initialCounter'],
data: function () {
  return { counter: this.initialCounter }
}
定義一個(gè)計(jì)算屬性,處理 prop 的值并返回:

props: ['size'],
computed: {
  normalizedSize: function () {
    return this.size.trim().toLowerCase()
  }
}
2017年11月10日 14:21