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+vant实现购物车全选和反选功能
Nov 17 Vue.js
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
vue $router和$route的区别详解
Dec 02 Vue.js
Vue 组件注册全解析
Dec 17 Vue.js
vue监听滚动事件的方法
Dec 21 Vue.js
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 Vue.js
vue 实现图片懒加载功能
Dec 31 Vue.js
Vue中强制组件重新渲染的正确方法
Jan 03 Vue.js
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
使用vue3重构拼图游戏的实现示例
Jan 25 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 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
多人战的战术与战略
2020/03/04 星际争霸
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
PHP print类函数使用总结
2010/06/25 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
Ext面向对象开发实践(续)
2008/11/18 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
js实现分割上传大文件
2016/03/09 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
[00:58]他们到底在电话里听到了什么?
2017/11/21 DOTA
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
Python内置加密模块用法解析
2019/11/25 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
英国行业制服供应商:Alexandra
2019/09/14 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
opencv实现图像几何变换
2021/03/24 Python
后勤工作职责
2013/12/22 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
写给领导的感谢信
2015/01/22 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书