2020-12-29

Vue中inheritAttrs的使用

<body>
	<div id="wxApp" class="appclass">
	    <blog-post title="标题" wx-attr1="未定义属性" wx-attr2="未定义属性" 
    style="color:red" class="wxclass"></blog-post>
	    </div>
	    <script>
			 Vue.component('blog-post',{
				 inheritAttrs:true,
				 props:{
					title:String,			 
				 },
				 template:`
				 <div wx-attr1="hello"  class="div1" style="width:500px" v-bind="$attrs" >
					<h1>title:{{title}}</h1>				
					<ul>
					   <li v-for="item in $attrs">{{item}}</li>
					</ul>
				 </div>`,
				 
			 })
	         var wxApp = new Vue({
	         	el:"#wxApp",
	         	data:{
	         	},
	         	methods:{
	
	         	}
	         });
	    </script>
	</body>

当inheritAttrs取值为true,且模板里绑定v-bind="$attrs"时,自定义属性可以插入到我们的组件中,并且不会覆盖掉在组件中相同未定义属性名称的值,结果如下

当inheritAttrs取值false时,且模板里绑定v-bind="$attrs"时自定义属性可以插入到我们的组件中,但会覆盖掉在组件中相同未定义属性名称的值,结果如下

当模板未绑定v-bind="$attrs"时

<body>
	    <div id="wxApp" class="appclass">
			<blog-post title="标题" wx-attr1="未定义属性" wx-attr2="未定义属性" style="color:red" class="wxclass"></blog-post>
	    </div>
	    <script>
			 Vue.component('blog-post',{
				 inheritAttrs:true,
				 props:{
					title:String,			 
				 },
				 template:`
				 <div wx-attr1="hello"  class="div1" style="width:500px"  >
					<h1>title:{{title}}</h1>				
					<ul>
					   <li v-for="item in $attrs">{{item}}</li>
					</ul>
				 </div>`,
				 
			 })
	         var wxApp = new Vue({
	         	el:"#wxApp",
	         	data:{
	         	},
	         	methods:{
	
	         	}
	         });
	    </script>
	</body>

inheritAttrs取值为true时,自定义属性可以插入到我们的组件中,并且会覆盖掉在组件中相同未定义属性名称的值,结果如下

inheritAttrs的值为false时,自定义属性是插入不到我们的组件中的,结果如下

在组件中定义的class属性和style属性,使用inheritAttrs属性并不能阻碍class属性和style属性传到模板中,如果模板中也存在class属性和style属性,这样属性会叠加到一起

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值