props \ defineProps

1 props2 defineProps

vue 官网 Props

命名:如果一个 prop 的名字很长,建议使用小驼峰 props: { greetingMessage: String }使用:

使用时为了和 HTML attribute 对齐,通常将其写为 短横线 形式 有时虽为常量但也要使用 v-bind,因为这是一个 JavaScript 表达式而不是一个字符串

/* 42 为数字,不为字符串 */

/* false 为布尔值,不为字符串 */

/* 仅写上 prop 但不传值,会隐式转换为 `true` */

如果没有在 props 中把 is-published 的类型设置为 Boolean,则这里的值为空字符串,而不是“true”。

只使用 v-bind 而非 :prop-name

// data() 中定义

post: {

id: 1,

title: 'My Journey with Vue'

}

// 等价于

单项数据流:父级 prop 的更新会向下流动到子组件中, 不应该在一个子组件内部改变 prop

1 props

一个组件需要显式声明它所接受的 props,这样 Vue 才能知道外部传入的哪些是 props,哪些是透传 attribute