Дмытрык Asked:2020-06-20 21:06:16 +0000 UTC2020-06-20 21:06:16 +0000 UTC 2020-06-20 21:06:16 +0000 UTC 最终标记中的不可理解的垃圾 772 初始化应用程序后,生成的标记包含大量垃圾。 为什么会发生这种情况以及如何摆脱它? vue.js 2 个回答 Voted Best Answer Dmitry 2020-06-21T17:37:27Z2020-06-21T17:37:27Z 默认情况下,父作用域中未被识别为输入的属性将通过并作为普通 HTML 属性应用到子组件的根元素。在创建包装元素或另一个组件的组件时,这可能并不总是预期的行为。通过设置inheritAttrs为false,可以禁用此默认行为。属性可通过实例属性$attrs(也在版本 2.4.0 中添加)获得,并且可以使用 . 显式绑定到非根元素v-bind。 inheritAttrs Дмытрык 2020-06-20T21:08:33Z2020-06-20T21:08:33Z 当参数传递给它不期望的组件时,就会发生这种情况。要摆脱这种情况,要么不传递组件不需要的东西,要么props在 Vue.component('Child',{ template:"<div>Child</div>" }) Vue.component('Child2',{ props:['another', 'test'], template:"<div>Child2</div>" }) new Vue({ el: '#app', }); <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <Child :test="{111:222}" :another="{111:222}"></Child> <Child2 :test="{111:222}" :another="{111:222}"></Child2> </div> 结果:
inheritAttrs当参数传递给它不期望的组件时,就会发生这种情况。要摆脱这种情况,要么不传递组件不需要的东西,要么
props在结果: