【前端】prop传值的用法

prop配置项的作用是让组件接收外部传过来的值。
组件标签上传值给vue组件对象

<script>
export default {
  name: 'HelloWorld',
  data(){
    return{      
    }
  },
  props:['name','age']      #简单接收
}
</script>

方式2:利用对象方式设置数据类型进行类型限制

props:{
 name:String,
 age:Number
}

数据类型包含了以下几种:
在这里插入图片描述
方式3:比较完整的带有prop验证方式的写法

props:{
    name:String,
    age:{
      type:Number,
      default:99  //设置默认值,如果他的默认值是数组或者对象必须从一个工厂函数获取
    },
    sex:{
      type:String,
      required:true  //必须填写
    },
    //自定义验证函数
    score:{
      type:Number,
      validator(value){
        return value>=0 && value<=100   //验证函数返回值为true则验证通过
      }
    }
}

props是只读的,如果需要修改可以复制props中的内容到data中一份,然后去修改data中的数据。因为vue底层会检测对props的修改,如果进行了修改,就会发出警告。

<template>
  <div class="hello">
    <h1>学生信息</h1>
    <h2>学生名称:{{name}}</h2>
    <h2>学生年龄:{{myAge+1}}</h2>
    <h2>学生性别:{{sex}}</h2>
    <button @click="myAge++">年龄+1</button>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data(){
    return{     
      myAge:this.age
    }
  },
  // props:{
  //   name:String,
  //   age:Number
  // }
  props:{
    name:String,
    age:{
      type:Number,
      default:99  //设置默认值,如果他的默认值是数组或者对象必须从一个工厂函数获取
    },
    sex:{
      type:String,
      required:true  //必须填写
    },
    //自定义验证函数
    score:{
      type:Number,
      validator(value){
        return value>=0 && value<=100   //验证函数返回值为true则验证通过
      }
    }
  }
}
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值