vue3中setup语法父子组件传值总结

一、父组件修改子组件中的变量值

        1、子组件将需要修改的值曝露出来

const isShow = ref(false);

defineExpose({isShow});

        2、父组件使用子组件标签,并定义ref属性,并在script中定义ref属性值;在需要修改的地方调用     ref属性值.value.要修改的变量=* 的方式直接修改即可

<Editor ref="editor" :row="editorRow"></Editor>

<script setup lang="ts">
    const editor = ref(null);      //此处editor与子组件中ref属性同名

    editor.value.isShow=true;        //在需要的地方通过value下曝露出来的变量名修改
</script>

二、父组件向子组件传递值

        1、父组件通过子组件自定义的标签属性传入值

<template>
    <Editor ref="editor" :row="editorRow"></Editor>    //子组件通过自定义属性row将editRow传入
</template>

<script setup lang="ts">
    const editorRow = ref(null);
<script>

        2、子组件通过defineProps接收传入的数据

//这里的row保证与自定义的标签属性名相同
const props = defineProps(["row"]);

//标签中可以通过row来使用传入的内容,比如
<el-form :model="row">

//脚本中用props.row来使用,比如
console.log(props.row);

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3,你可以使用`setup`函数来实现父子组件之间的传值。`setup`函数是在组件创建之前执行的,它接收两个参数:`props`和`context`。 要在组件组件传递值,首先需要在组件将值作为属性传递给组件。然后,在组件的`setup`函数可以通过`props`参数访问到组件传递过来的值。 以下是一个简单的示例: ```vue <template> <div> <p>组件传递的值: {{ message }}</p> <ChildComponent :message="message" /> </div> </template> <script> import { ref } from 'vue'; import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent }, setup() { const message = ref('Hello from parent'); return { message }; } }; </script> ``` 在上面的示例组件通过`:message="message"`将`message`作为属性传递给组件。在组件的`setup`函数,通过`props`参数可以访问到组件传递过来的值。 ```vue <template> <div> <p>组件接收到的值: {{ message }}</p> </div> </template> <script> export default { props: { message: { type: String, required: true } }, setup(props) { // 可以通过 props.message 访问到组件传递过来的值 return { message: props.message }; } }; </script> ``` 在组件,可以通过`props`对象访问到组件传递过来的值,并将其赋值给一个本地变量,以便在模板使用。 这样就实现了父子组件之间的传值。注意,`setup`函数返回的是一个对象,该对象的属性可以在模板直接使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值