• vue学习笔记22-组件传递多种数据类型&props效验


    组件传递多种数据类型

    通过props传递数据,不仅可以传递字符串类型的数据,还可以是其他类型,例如:数字、对象、数组等,但实际上任何类型的值都可以作为props的值被传递(即组件与组件之间的传递是没有限制的)

    传递数字类型

    在父级中添加age,通过v-bind绑定属性,再在下面声明age=20使可以传递数字类型

    数组类型array传递

    父级

    1. <script>
    2. import Child from "./Child.vue"
    3. export default {
    4. data() {
    5. return{
    6. message:"Parent数据!",
    7. age:20,
    8. names:["anna","amy","ewan"]
    9. }
    10. },
    11. components:{
    12. Child
    13. }
    14. }
    15. script>

    子集

    1. <script>
    2. export default {
    3. data() {
    4. return{
    5. }
    6. },
    7. props:["title","age","names"]//在这里以字符串形式存在
    8. }
    9. script>

    object对象

    父级:

    1. <script>
    2. import Child from "./Child.vue"
    3. export default {
    4. data() {
    5. return{
    6. message:"Parent数据!",
    7. age:20,
    8. names:["anna","amy","ewan"],
    9. userInfo:{
    10. name:"anna",
    11. age:20
    12. }
    13. }
    14. },
    15. components:{
    16. Child
    17. }
    18. }
    19. script>

     子集

    1. <script>
    2. export default {
    3. data() {
    4. return{
    5. }
    6. },
    7. props:["title","age","names","userInfo"]//在这里以字符串形式存在
    8. }
    9. script>

    组件传递props效验

    vue组件可以更细致地声明传入props的效验要求,检验传递的数据是否为设定的数据

    在A组件中引入B

    1. <script>
    2. import ComponentB from "./ComponentB.vue"
    3. export default {
    4. data(){
    5. return{
    6. }
    7. },
    8. components:{
    9. ComponentB
    10. }
    11. }
    12. script>

    如下为B组件

    1. <script>
    2. export default{
    3. data(){
    4. return{
    5. }
    6. }
    7. }
    8. script>

    在组件B中设置一个检验:

    要求传递的类型是string,若是侧检查代码不报错。不是 ➡️虽然能显示,但右键检查代码提示报错

    当然也可以接收多个类型,兼容性很好

    默认值

    默认值指目前设置了一个没有传入数值的空,页面不显示,为了让页面显示,设置一个默认值0之类的数字,使未传入时数字为0并显示

    1. <script>
    2. export default{
    3. data(){
    4. return{
    5. }
    6. },
    7. //为让B显示增加一个
    8. props:{
    9. title:{
    10. type:[String,Number,Array,Object]
    11. },
    12. age:{
    13. type:Number,
    14. default:0
    15. }
    16. }
    17. }
    18. script>

    未传入

    传入后,数值更改

    如下为A组件中传入数值的代码

     

    注意:数字和字符串可以直接default,但是如果是数组和对象,必须通过工厂函数返回默认值

    如上所示

    必选项

    这个必选项很霸道,不传它想要的数据就报警告,如上,我在title里面写了必选项,如果上面我将title删掉,则报警告

    组件与组件传递之间有类型的限制,有默认值和必选项的限制

    注意:prop是只读的

  • 相关阅读:
    Frida系列--Stalker原理分析
    OpenCV4之C++入门详解
    网络流量分类概述
    CocosCreator 面试题(十三)说说Cocos Creator常驻节点
    遇到这几种情况,您可以直接投诉
    时间复杂度
    以赛促练-力扣第309场周赛反思
    C# 中NHibernate使用及配置映射
    小学语文 - 朗读
    NumPy的常用函数
  • 原文地址:https://blog.csdn.net/nicooooooooooooo/article/details/136605613