Vue 中的props

如果props始终获取不到传过来的值,考虑是否props写多了一个!!!!!!

<template>
  <div>
    {{propA_init}}-{{propA}}
  </div>
</template>

<script>
export default {
    components: {},
  
    props: {
        //必须是数字类型
          propA:Number,
          //必须是字符串或数字类型
          propB:[String,Number],
          //布尔值,如果没有定义,默认值是true
          propC:{
            type:Boolean,
            default:true
          },
          //数字,而且是必传
          propD:{
            type:Number,
            required:true
          },
          //如果是数组,默认值必须是一个函数来返回
          propE:{
            type:Array,
            default:()=>[]
          },
          //如果是对象,默认值必须是一个函数来返回。也可用箭头函数
          propF:{
            type:Object,
            default:function(){
                return {}
            }
          },
          //自定义一个验证函数
          propG:{
              validator:function (value){
                return value>10
             }
          }
    }
  data() {
    return {
      propA_init:this.propA
    };
  },
  mounted() {
    console.log(this.propA_init)
    console.log(this.propA)
  },
  methods:{
    this.propA_init="asdf"
  }
</script>

通常来说,父级 prop 的更新会向下流动到子组件中,但是反过来则不行。这样会防止从子组件意外改变父级组件的状态,从而导致你的应用的数据流向难以理解。

  但是当父组件的传值是数组或者对象时,子组件中不仅能够直接修改,还不会报错,在子组件中改变这个对象或数组本身将会影响到父组件的状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值