在Vue3中,可以使用props属性将值从父组件传递给子组件。
<template>
<div class="wrap">
<children :selected="selected" :selectedValue="data"></children>
</div>
</template>
<script>
import children from "@/components/children.vue";
import axios from "axios";
import { onMounted, ref } from "vue";
export default {
components: {
children
},
setup() {
const data = ref(); //数据1
const selected = ref("0"); //数据2
return {
data,
selected
};
}
}
</script>


<script>
import { ref, watch } from "vue";
export default {
props: {
selected: String,
selectedValue: {
type: Object,
},
},
setup(props) {
// 监听下拉框的内容并读取数据
watch(
() => [props.selected, props.selectedValue],
([newSelect, newData], [oldSelect, oldData]) => {
//利用父组件传过来的值可以执行相应的操作
weekdata.value = newData.week; //以周为维度的数据
monthdata.value = newData.month; //以月为维度的数据
})
}
}
</script>
(1)定义props属性,最少包括:变量名和数据类型

(2)利用watch监听并处理变量
利用watch监听传递过来的值,就可以对传递过来的值去执行相关的操作
