博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue vm.$attrs 使用
阅读量:6246 次
发布时间:2019-06-22

本文共 1333 字,大约阅读时间需要 4 分钟。

1、 说明

将父组件的属性(除去在props中传入的属性)传递给子组件。

2、代码分析

以下是element-ui input源码

el-input的props源码:

props: {      value: [String, Number],      size: String,      resize: String,      form: String,      disabled: Boolean,      readonly: Boolean,      type: {        type: String,        default: 'text'      },      autosize: {        type: [Boolean, Object],        default: false      },      autocomplete: {        type: String,        default: 'off'      },      /** @Deprecated in next major version */      autoComplete: {        type: String,        validator(val) {          process.env.NODE_ENV !== 'production' &&            console.warn('[Element Warn][Input]\'auto-complete\' property will be deprecated in next major version. please use \'autocomplete\' instead.');          return true;        }      },      validateEvent: {        type: Boolean,        default: true      },      suffixIcon: String,      prefixIcon: String,      label: String,      clearable: {        type: Boolean,        default: false      },      tabindex: String    },

以下是el-input小例子:

<el-input>组件添加了2个原生属性,注意这2个原生属性并没有在prop里面,这2个属性是控制input的最大输入和最小输入长度的,那么这2个属性现在仅仅放在了父元素<el-input>上,如何将其传递给素<el-input>内的原生input子元素呢?不传递则这2个属性不起作用,因为子input上没有这2个属性。答案就是通过v-bind="$attrs"来实现,它将父元素所有非prop的特性都绑定在了子元素input上,否则还得在props里声明maxlength,minlength,代码量增大。
这就是$attrs的使用。

转载地址:http://tmoia.baihongyu.com/

你可能感兴趣的文章
当寂寞不得不成为一种习惯
查看>>
oracle的序列号(sequence)
查看>>
MyEclipse启动tomcat发生Socket bind failed: [730048]
查看>>
树莓派连接到手机屏幕
查看>>
MyBatis学习整理0
查看>>
[转载]不再让你孤单
查看>>
登录验证的生成类RandomCodeRender
查看>>
singleton
查看>>
smarty插件判断图片是否存在,不存在则调用默认图片
查看>>
[转载] 晓说——第29期:海上霸主航母(上)
查看>>
05 显示网页信息
查看>>
[转载] 中华典故故事(孙刚)——37 只许州官放火,不许百姓点灯
查看>>
mysql5.7.22源码编译安装
查看>>
Java基础学习总结(23)——GUI编程
查看>>
SVN学习总结(2)——SVN冲突解决
查看>>
nagios的安装搭建以及添加监控主机
查看>>
Harbor和YUM部署for CentOS 7
查看>>
shell脚本练习一(if语句、case语句、for语句、while语句)
查看>>
Web服务(二)httpd配置参数详细介绍
查看>>
unity中射线碰撞检测总结
查看>>