千锋教育前端Vue3.0全套视频教程(Kerwin2023版,Vue.js零基础

父组件向子组件传值
+ 传递语法:<子组件 :自定义属性="值" />
=> 注意:
+ 自定义属性不能以 v- 中横线开头
+ 我们传递时,如果传递的数据不是字符串类型的,一般需要加上 :
+ 接收语法:
=> 数组:props: ["父组件传递的自定义属性名", ......]
=> 对象:props: { 自定义属性名: { 配置项 } },一般公用组件使用这种方式
+ 配置项:
=> type:类型,注意 JS 中的类型首字母是大写的
=> required:是否必传,布尔值,该属性必须设置,否则会报错
=> default:默认值,可以通过值或者回调函数返回值的方式设置值
+ 基础类型的数据,直接给值
+ 引用类型的数据,只能写函数返回值
+ 语法:default: ( ) => 值/default: 值
=> validator:自定义传递过来的数据的回调
+ 语法:validator(value) => { return 布尔值; }
=> 注意:数组中的元素就是在父组件中自定义属性的名称,两者要一致
+ 注意:
=> 如果没定义 props 选项,则父组件自定义的属性会被 $attrs 变量接受,但是如果定义了 props 则 $attrs 不会有此属性
=> props 是一个单项数据流,子组件不能直接修改父组件传过来的数据,想修改只能通过父组件来完成,如果非要直接修改,Vue 也是可以的,但是会有警告,不推荐直接修改,要是在公司中有直接修改,可能会挨骂受处分