在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元素的组件时,这是一种有价值的机制。否则,您将需要在顶部元素中逐一绑定每个属性。

它比必需的功能更方便。

07-28 07:19