Vue组件化开发(三)| 一起学系列

97 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情

  • 父组件向子组件传值-Props类型
    • Prop可以设置类型检查,这时需要将props更改为一个带有验证需求的对象,并指定对应类型。如果要设置props的具体规则,需要更改为对象写法。当根组件的数值类型与props设置的类型不相同时,会警告依然输出,但不会报错 image.png image.png
    • prop还可以同时指定多个类型,通过数组方式保存即可 image.png
  • 父组件向子组件传值-Props验证
    • 当prop需要设置多种规则时,可以将prop的值设置为选项对象
    • 之前的类型检测功能通过type选项设置 image.png
    • required用于设置数据为必填项,值为true。在html中的组件中必须传递这个值,当没有设置传递值时,Vue会警告 image.png
    • default用于给可选项指定默认值,当父组件未传递数据时生效 image.png
    • 注意:当默认值为数组或对象时,必须为工厂函数返回的形式 image.png
    • validator用于给传入的prop设置校验函数,return值为false时,Vue.js会发出警告 image.png
    • default和vaildator中的函数均无法通过使用this来访问实例像data、methods那样,this指向的是window对象
  • 父组件向子组件传值-非Props属性
    • 当父组件给子组件设置了属性,但此属性在props中不存在,这时会自动绑定到子组件的根元素上 image.png
    • 如果组件根元素已经存在了对应属性,则会替换组件内部的值;class与style是例外,当内外都设置时,属性会自动合并。下面图中属于是组件内部的值 image.png
    • 如果不希望继承父组件设置的属性,可以设置inheritAttrs:false 但只适用于普通属性,class与style不受影响。下图中的属性不会被替换 image.png
    本期的内容就到这里啦!让我们明天一起继续学习Vue.js吧!