在Vue中,我们具有inheritAttrs
组件选项,当false
时,当在组件实例上未声明为props
时,将防止将绑定作为属性应用于DOM。
例如,考虑一下:
<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;
最佳答案
它与自定义HTML属性无关。无论是否inheritAttrs
,您都可以这样做。
当您编写包装现有HTML元素的组件时,这是一种有价值的机制。否则,您将需要在顶部元素中逐一绑定每个属性。
它比必需的功能更方便。