控制透传路径

vue中的透传会将父组件传给子组件的$attrs放到子组件的根元素上,我们常用这个特性来传递class、style,以指定子组件的长宽。

但在写诸如对话框这样的组件时,对话框组件的根组件是那一层黑色的蒙版。父组件并不希望指定蒙版的长宽,而是希望指定对话框的长宽,这时候我们就需要控制透传的路径。具体做法就是在子组件上使用inheritAttrs:false关闭默认透传,并且将$attrs传给对话框节点:

<template>
	<div class="mask">
    <div class="dialog" v-bind="$attrs">
    	对话框  
  	</div>
  </div>
</template>

<script>
export default {
  inheritAttrs: false
}
</script>
posted @ 2022-09-16 12:26  hdxg  阅读(29)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css