当前位置: 首页 > news >正文

Vue-props配置功能

Vue-props配置功能

props概述

  • 功能:接收从其他组件传过来的数据,将数据从静态转为动态
  • 注意:
    • 同一层组件不能使用props,必须是父组件传子组件的形式。父组件传数据,子组件接收数据。
    • 不能什么数据都接收,可能会出现一些奇怪的bug
    • props接收过来的数据不要修改,页面渲染可能没有问题,但控制台会报错,而且不符合规范
      在这里插入图片描述

props的三种接收方法:

  • 第一种:数组形式(常用)
props:['a', 'b']
  • 第二种:类型限制
props : { a : String b : Number 
}
  • 第三种:类型限制,必要性限制,默认值
props : { a : {// type:类型(可以是数字,字符串等)type : Number, // required:true 或者 false// 设置为true视为a必须存在(必填项),没有a则控制台报错// 默认情况为false required : true }, b : { type : Number, // default:默认值// 在添加默认值之前该字段接收的数据已经有数值时,则默认值无效default : 10 }
}

传数据的形式(传数据的形式可对应任意一种接受数据的方法):

  • 在标签内传数据
// 父组件
<Info name="张三" :age="12"></Info>// 子组件
props : ['name', 'age']
  • 在data(){}中传数据
// 父组件
<Info :list="list"></Info>
data() {return {list : [{id:'001', name:'zhangsan', age:'10'},{id:'002', name:'lisi', age:'20'}]}
}// 子组件
props : ['list']
  • 在methods : {}中传数据
// 父组件
<Info :list="list"></Info>
method : {list(){......}
}// 子组件
props : ['list']
  • 注:传数据的形式有很多,不局限以上用法,也可以在computed : {}中传数据等

怎么用?

  • 父组件传数据,子组件接收数据
  • 父组件App.vue
<template><div><h1>{{msg}}</h1>// 当出现第二 或 第三种带有限定类型的props时,要注意接受的数据是否符合类型限制// 不符合类型限制,但又不想修改类型,例如:age="12",可采用v-bind:// v-bind:简写形式 => ':',等号后面可以是常量或字符串等<Info name="张三" :age="12"></Info></div>
</template><script>import Info from './components/Info.vue'export default {name : 'App',data() {return {msg : '个人信息'}},components : {Info}}
</script>
  • 子组件Info.vue
<template><div><h3>姓名:{{name}}</h3><h3>年龄:{{age}}</h3></div>
</template><script>
export default {name : 'Info',data() {return {name: this.name}},// 数组形式(常用)props : ['name','age']// 带有类型限定props : { name : String age : Number }// 类型限制,必要性限制,默认值props : { name : {type : Number, required : true },age : { type : Number, default : 10 }}
}
</script>type : Number, required : true },age : { type : Number, default : 10 }}
}
</script>
http://www.lryc.cn/news/195906.html

相关文章:

  • iMazing 3中文版功能介绍免费下载安装教程
  • 给课题组师弟师妹的开荒手册(终篇)
  • 【Eclipse】安装与卸载教程
  • WordPress还是Shopify?如何选择最适合您业务的网站建设平台?
  • Java Kids-百倍提速【Mac IOS】
  • uniapp-vue3-微信小程序-按钮组wo-btn-group
  • mysql查询当天,近一周,近一个月,近一年的数据
  • Python快速入门教程
  • 注释的重要性:代码的明晰之道
  • 将 vue2+ElementU 项目打包成安卓app
  • sop作业指导书怎么做?sop标准作业指导书用什么软件做?
  • 计算机网络 | 应用层
  • IP地址定位技术对企业的影响有哪些?
  • 【SA8295P 源码分析 (一)】52 - 答疑之 QNX 创建镜像、Android修改CMDLINE
  • 跨境商城源码部署(多商户入驻,一键铺货,快速部署)
  • videojs和videojs-markers
  • 铜死亡+多组机器学习+WGCNA+分型
  • vite 使用本地 ip + localhost 访问服务
  • postman和jmete接口测试的用法与区别
  • Go语言基础之包
  • Switch模拟器-Ryujinx(龙神模拟器)安装教程
  • 从Github中下载部分文件
  • webrtc安全性 加密方式
  • 【2023年11月第四版教材】软考上机考试操作指南(注意事项)
  • 在vs code中创建一个名为 “django_env“ 的虚拟环境报错?!以下方法可以解决
  • C++产生未定义的行为的原因分析
  • C++ Qt QString类用法介绍
  • 亚马逊测评关于IP和DNS的问题
  • 新增Node.js运行环境、新增系统缓存清理功能,1Panel开源面板v1.7.0发布
  • 【SA8295P 源码分析 (一)】60 - QNX Host 如何新增 android_test 分区给 Android GVM 挂载使用