Vue 2.4.0新增inheritAttrs,attrs

在看element-ui input组件的源码时发现,子组件并没有对应的props来接收父组件传递的placeholder值,查阅资料发现使用了以下两个特性实现父组件与子组件之前的数据传递(也可实现嵌套层级比较深组件数据的传递)

inheritAttrs:默认值true, 在组件定义中添加inheritAttrs:false,组件将不会把未被注册的props呈现为普通的HTML属性

$attr:包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 style 除外)

代码如下

Vue 2.4.0新增inheritAttrs,attrs_第1张图片

Vue 2.4.0新增inheritAttrs,attrs_第2张图片

查看dom结构

此时父元素并没有placeholder属性,若去掉inheritAttrs,父元素也会有placeholder属性

你可能感兴趣的:(Vue 2.4.0新增inheritAttrs,attrs)