Vue使用Props实现组件数据交互的示例代码
props可以是一个数组或对象,用于指定子组件接受的属性名称。通过在父组件中使用子组件时,通过属性的方式将数据传递给子组件,属性名即为在子组件中声明的props的属性名称。子组件可以在其模板中通过props属性访问父组件传递的数据。props的作用是向子组件传递数据,允许传递任意数量的prop和任意类型的prop。在Vue 3和TypeScript中,深入了解组件的Props是非常重要的,因为可以在组件的选项中使用props属性来定义Props的类型和验证规则。
使用如下:
1、在使用子组件的父组件传递数据
<RefreshBtn @onFreshEvent="getData" :newsRefresh="newsRefresh"/>
2、子组件数据应用,使用props确定接收数据的类型和默认值,在props中还可以进行数据校验。
<template>
<button @click="refreshHandle">刷新</button>
<p>父页面数据:{{newsRefresh}}</p>
</template>
<script>
export default {
name: "RefreshBtn",
props: {
newsRefresh: {
type: String,
default: ""
}
},
data() {
return {
target: 1
}
},
methods: {
refreshHandle() {
this.$emit("onFreshEvent",this.target);
this.target += 1;
}
}
}
</script>props完整的校验写法:
props: {
校验的属性名: {
type: 类型, // Number String Boolean ...
required: true, // 是否必填
default: 默认值, // 默认值
validator (value) {
// 自定义校验逻辑
return 是否通过校验
}
}
},<script>
export default {
// 完整写法(类型、默认值、非空、自定义校验)
props: {
w: {
type: Number,
//required: true,
default: 0,
validator(val) {
// console.log(val)
if (val >= 100 || val <= 0) {
console.error('传入的范围必须是0-100之间')
return false
} else {
return true
}
},
},
},
}
</script>到此这篇关于Vue使用Props实现组件数据交互的示例代码的文章就介绍到这了,更多相关Vue Props数据交互内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
el-select与el-tree结合使用实现树形结构多选框
我们在实际开发中需要用到下拉树,elementUI是没有这个组件的,我们就要自己去写了,下面这篇文章主要给大家介绍了关于el-select与el-tree结合使用实现树形结构多选框的相关资料,需要的朋友可以参考下2022-10-10
elementUI动态表单 + el-select 按要求禁用问题
这篇文章主要介绍了elementUI动态表单 + el-select 按要求禁用问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-10-10
vue+video.js视频播放、视频切换、视频断点分段上传功能
本次需求是做一个视频列表,点击视频列表播放对应视频;同时要求实现断点分段上传大文件(视频)的功能,今天通过本文给大家讲解下vue+video.js视频播放、视频切换、视频断点分段上传功能,感兴趣的朋友一起看看吧2022-12-12


最新评论