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 相关文章推荐
vuex的数据渲染与修改浅析
Nov 26 Vue.js
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
Vuex实现简单购物车
Jan 10 Vue.js
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
Vue常用API、高级API的相关总结
Feb 02 Vue.js
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 Vue.js
Vue中foreach数组与js中遍历数组的写法说明
Jun 05 Vue.js
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
vue 实现弹窗关闭后刷新效果
Apr 08 Vue.js
vue3种table表格选项个数的控制方法
Apr 14 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
PHP has encountered an Access Violation
2007/01/15 PHP
PHP6 mysql连接方式说明
2009/02/09 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
js判断浏览器的比较全的代码
2007/02/13 Javascript
JavaScript面向对象编程
2008/03/02 Javascript
jquery select选中的一个小问题
2009/10/11 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
python寻找list中最大值、最小值并返回其所在位置的方法
2018/06/27 Python
python 读取文件并替换字段的实例
2018/07/12 Python
python实现大文件分割与合并
2019/07/22 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
软件测试面试题
2015/10/21 面试题
食品安全演讲稿
2014/09/01 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
委托书格式要求
2015/01/28 职场文书
个人年底工作总结
2015/03/10 职场文书
创卫工作总结2015
2015/04/22 职场文书
黄埔军校观后感
2015/06/10 职场文书
html form表单基础入门案例讲解
2021/07/21 HTML / CSS
微软发布Windows 11今年最大更新22H2(附 ISO 镜像官方下载)
2022/09/23 数码科技