Props
1,验证类型 2,默认值
注意事项:
1,如果想要将一个对象的所有 property 都作为 prop 传入,可以使用不带参数的 v-bind (用 v-bind 代替 :prop-name)
post: {
id: 1,
title: 'My Journey with Vue'
}
<blog-post v-bind="post"></blog-post>
等价于:
<blog-post v-bind:id="post.id" v-bind:title="post.title"></blog-post>
2, 单向数据流, 在子组件中不允许更改props值(注意对象,数组的隐形更改)
3,DOM模板限制
非 Prop 的 Attribute
一个非 prop 的 attribute 是指传向一个组件,但是该组件并没有相应 props 或 emits 定义的 attribute。常见的示例包括 class、style 和 id attribute。可以通过 $attrs property 访问那些 attribute。
继承规则: 1,单个根节点,默认根节点继承 2,多个根节点,默认不继承,需显式绑定,否则报错 3,禁用Attribute集成: 配置inheritAttrs: false 可显式配置某个元素继承:
<input type="datetime-local" v-bind="$attrs" />
Provide / Inject
长距离props: 子不知父,父不知子 处理响应性: vue.computed()