亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 Vue 中還存在 InheritAttrs ?

為什么 Vue 中還存在 InheritAttrs ?

翻過高山走不出你 2024-01-03 16:46:43
在 Vue 中,我們有inheritAttrs組件選項,當未在組件實例上false聲明時,將阻止綁定作為屬性應用到 DOM 。props例如,考慮一下:<some-component :article="article" />設置inheritAttrs為true(默認):<div article="[object Object]"></div>inheritAttrs設置為false:<div></div>我試圖理解 a) 為什么這是true默認的?b)它為什么存在?在 DOM 中允許自定義屬性會鼓勵經驗不足的工程師生成無效的 HTML,從而導致代碼質量低劣。然而,我傾向于相信 Vue 工程師的經驗,因此得出的結論是,它實際上在我尚未遇到的某些場景中很有用。如果在某些用例中這是可以的,那么我想知道,如果沒有,那么它到底為什么存在?另外,有沒有辦法全局設置呢?我嘗試了以下方法(不起作用):Vue.config.inheritAttrs = false;
查看完整描述

2 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

它與自定義 HTML 屬性無關。不管與否,你都可以這樣做inheritAttrs

當您編寫包裝現有 HTML 元素的組件時,這是一種很有價值的機制。如果沒有這個,您將需要在頂部元素中一一綁定每個屬性。

它更多的是一種便利,而不是必要的功能。


查看完整回答
反對 回復 2024-01-03
?
弒天下

TA貢獻1818條經驗 獲得超8個贊

默認情況下,您可以使用全局 mixin 對所有組件禁用此選項:

Vue.mixin({ inheritAttrs: false })

如果您需要繼承特定組件的屬性,顯式添加inheritAttrs: true將覆蓋全局 mixin 配置。


查看完整回答
反對 回復 2024-01-03
  • 2 回答
  • 0 關注
  • 189 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號