一、父组件向子组件传值、传方法
Father.vue的组件
<template>
<div>
<Child @update="UseAssentment" :value="text" />
</div>
</template>
<script setup>
import { reactive, toRefs, ref, onBeforeMount, onMounted } from "vue";
import Child from "@/view/Child.vue";
function UseVal() {
const text = ref("");
const treeData = ref([])
const UseAssentment = async () => {
const {data,code} = await $htttp.get('/user/userinfo')
treeData.value = data;
};
return { text, UseAssentment };
}
const { text, UseAssentment } = UseVal();
</script>
二、子组件接收父组件的值并调用父组件的方法
Child.vue的组件
<template>
<div>
<Button @click="HandlerOk">取消</Button>
<Button @click="HandlerNo">确认</Button>
</div>
</template>
<script setup>
import { reactive, toRefs, ref, onBeforeMount, onMounted } from "vue";
const props = defineProps({
value: {
type: String,
default: {},
},
});
const emits = defineEmits("update");
function UseHandler() {
const HandlerOk = () => {
console.log(props.value);
emits("update");
};
const HandlerNo = () => {
emits("update");
};
return { HandlerOk, HandlerNo };
}
const { HandlerOk, HandlerNo } = UseHandler();
</script>