在 Vue 中,我們有inheritAttrs組件選項(xiàng),當(dāng)未在組件實(shí)例上false聲明時,將阻止綁定作為屬性應(yīng)用到 DOM 。props例如,考慮一下:<some-component :article="article" />設(shè)置inheritAttrs為true(默認(rèn)):<div article="[object Object]"></div>inheritAttrs設(shè)置為false:<div></div>我試圖理解 a) 為什么這是true默認(rèn)的?b)它為什么存在?在 DOM 中允許自定義屬性會鼓勵經(jīng)驗(yàn)不足的工程師生成無效的 HTML,從而導(dǎo)致代碼質(zhì)量低劣。然而,我傾向于相信 Vue 工程師的經(jīng)驗(yàn),因此得出的結(jié)論是,它實(shí)際上在我尚未遇到的某些場景中很有用。如果在某些用例中這是可以的,那么我想知道,如果沒有,那么它到底為什么存在?另外,有沒有辦法全局設(shè)置呢?我嘗試了以下方法(不起作用):Vue.config.inheritAttrs = false;
2 回答

www說
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個贊
它與自定義 HTML 屬性無關(guān)。不管與否,你都可以這樣做inheritAttrs
。
當(dāng)您編寫包裝現(xiàn)有 HTML 元素的組件時,這是一種很有價值的機(jī)制。如果沒有這個,您將需要在頂部元素中一一綁定每個屬性。
它更多的是一種便利,而不是必要的功能。

弒天下
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個贊
默認(rèn)情況下,您可以使用全局 mixin 對所有組件禁用此選項(xiàng):
Vue.mixin({ inheritAttrs: false })
如果您需要繼承特定組件的屬性,顯式添加inheritAttrs: true
將覆蓋全局 mixin 配置。
- 2 回答
- 0 關(guān)注
- 184 瀏覽
添加回答
舉報
0/150
提交
取消