摸鱼少学习多

day75-props属性

props属性

在组件中接受外部传来的数据

本案例是由school组件中接受从app中传来的数据,进行age的加法

实现方法

school组件:

复制代码
 <template>
   <div class="demo">
     <h1>{{msg}}</h1>
     <h2>学生姓名:{{name}}</h2>
     <h2>学生性别:{{sex}}</h2>
     <h2>学生年龄:{{myAge+1}}</h2>
     <button @click="updateAge">点我修改年龄</button>
   </div>
 </template><script>
 export default {
   name: "StudentMsg",
   data(){
     return{
       msg:'我是一个学生',
       myAge:this.age
 ​
     }
   },
   methods:{
     updateAge(){
       this.myAge=99
     }
   },
   // props:['name','age','sex']  //简单接收
   //接收的同时对数据类型进行限制
   /*props:{
     name:String,
     sex:String,
     age:Number,
   }*///接收的同时对数据类型进行限制,对默认值进行指定,对必要性进行限制
   props:{
     name:{
       type:String,  //类型是字符串
       required:true,  //是必须要传的
     },
     sex:{
       type:String,
       required:true,
     },
     age:{
       type:Number,
       default:99, //默认值
     },
   }
 }
 </script><style scoped>
   .demo{
     background-color: gray;
   }
 </style>
复制代码

 

三种props方法

最简单的方法

 props:['name','age','sex']  //简单接收

 

接受的同时进行数据类型限制

 props:{
   name:String,
   sex:String,
   age:Number,
 }

 

接受的同时进行数据类型限制,对默认值进行指定,对必要性进行限制

 
复制代码
props:{
   name:{
     type:String,  //类型是字符串
     required:true,  //是必须要传的
   },
   sex:{
     type:String,
     required:true,
   },
   age:{
     type:Number,
     default:99, //默认值
   },
 }
复制代码

 

app组件对props进行传值

复制代码
 <template>
   <div>
     <StudentMsg name="Lisi" sex="girl" :age=19 />
     <StudentMsg name="gugu" sex="boy" :age=22 />
   </div></template><script>
 import StudentMsg from "@/components/StudentMsg";
 export default {
   name: "App",
   components:{
     StudentMsg
   },
 ​
 }
 </script>
复制代码

 

总结

 
复制代码
/*
   配置项props:
     功能:让组件接受外部传来的数据
     1.传递数据:
       <demo name='xxx'/>
     2.接受数据:
       第一种方式:只接受
       props:['name']
 ​
       第二种方式:限制类型
       props:{
         name:String,
       }
 ​
       第三种方式:限制类型,限制必要性,指定默认值
       props:{
         name:{
           type:String,  //类型是字符串
           required:true,  //是必须要传的
         },
       }
 ​
       备注:props是只读的,vue底层会监测你对props的修改,如果进行了修改就会发出警告,
           若业务中确实需要修改,复制props的内容到data中,去修改data中的数据
 */
复制代码

 

 
posted @   北海之上  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
/* 粒子吸附*/
点击右上角即可分享
微信分享提示