5-2,组件-props

105 阅读1分钟

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。常见的示例包括 classstyle 和 id attribute。可以通过 $attrs property 访问那些 attribute。

继承规则: 1,单个根节点,默认根节点继承 2,多个根节点,默认不继承,需显式绑定,否则报错 3,禁用Attribute集成: 配置inheritAttrs: false 可显式配置某个元素继承:

<input type="datetime-local" v-bind="$attrs" />

Provide / Inject

长距离props: 子不知父,父不知子 处理响应性: vue.computed()