Vue中inheritAttrs的使用实例详解


Posted in Vue.js onDecember 31, 2020

今天举一个例子解释一下inheritAttrs的使用

先看代码

<body>
		<div id="app" class="vueclass">
			<my-com title="标题" wx-attr1="未定义属性1" wx-attr2="未定义属性2"></my-com>
		</div>
		<script type="text/javascript">
			Vue.component("my-com",{
				props:{
					title:String,
				},
				inheritAttrs:false,
				template:`
					<div wx-attr1="hello" >
						<h1>{{title}}</h1>
					</div>
				`,
			})
			const App = new Vue({
				el:"#app",
				data:{
					
				},
				methods:{
					
				}
			})
		</script>
	</body>

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

Vue中inheritAttrs的使用实例详解

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

Vue中inheritAttrs的使用实例详解

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

结果如下

Vue中inheritAttrs的使用实例详解

还有一种情况,先看代码

<body>
		<div id="app" class="vueclass">
			<my-com title="标题" wx-attr1="未定义属性1" wx-attr2="未定义属性2" class="wxClass" style="color:red"></my-com>
		</div>
		<script type="text/javascript">
			Vue.component("my-com",{
				props:{
					title:String,
				},
				inheritAttrs:,
				template:`
					<div wx-attr1="hello" class="div1" style="width:500px" v-bind="$attrs">
						<h1>{{title}}</h1>
					</div>
				`,
			})
			const App = new Vue({
				el:"#app",
				data:{
					
				},
				methods:{
					
				}
			})
		</script>
	</body>

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

Vue中inheritAttrs的使用实例详解

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

Vue中inheritAttrs的使用实例详解

当模板里绑定v-bind="$attrs"时,并不会影响class属性与style属性,组件里的值依然会叠加到模板里

到此这篇关于Vue中inheritAttrs的使用的文章就介绍到这了,更多相关Vue inheritAttrs使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
浅谈Vue使用Elementui修改默认的最快方法
Dec 05 Vue.js
vue中watch的用法汇总
Dec 28 Vue.js
vue 实现图片懒加载功能
Dec 31 Vue.js
Vue项目中使用mock.js的完整步骤
Jan 12 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
Vue详细的入门笔记
May 10 Vue.js
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 Vue.js
分享一个vue实现的记事本功能案例
Apr 11 Vue.js
vue实现省市区联动 element-china-area-data插件
Apr 22 Vue.js
vue导入.md文件的步骤(markdown转HTML)
Dec 31 #Vue.js
vue-cli4.0多环境配置变量与模式详解
Dec 30 #Vue.js
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 #Vue.js
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 #Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 #Vue.js
梳理一下vue中的生命周期
Dec 30 #Vue.js
Vue实现简易购物车页面
Dec 30 #Vue.js
You might like
我的论坛源代码(八)
2006/10/09 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
react native 仿微信聊天室实例代码
2019/09/17 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
Python文件读写保存操作的示例代码
2018/09/14 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
实例讲解Python3中abs()函数
2019/02/19 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
对python中UDP,socket的使用详解
2019/08/22 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
基于python操作ES实例详解
2019/11/16 Python
Python多线程的退出控制实现
2020/08/10 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
电话销售经理岗位职责
2013/12/07 职场文书
银行求职信怎么写
2014/05/26 职场文书
关于读书的活动方案
2014/08/14 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python