props
父组件使用 import xxx from "../xxx.vue" 引入子组件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <template> <div class="box"> <h1>props:我是父组件曹操</h1> <hr /> <Child info="我是曹操" :money="money"></Child> </div> </template>
<script setup lang="ts"> //props:可以实现父子组件通信,props数据还是只读的!!! import Child from "./Child.vue" import { ref } from "vue"; let money = ref(10000); </script>
<style scoped> .box { width: 100vw; height: 400px; background: yellowgreen; } </style>
|
子组件通过 defineProps 接收父组件信息,其中引用 父组件信息不能修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <template> <div class="son"> <h1>我是子组件:曹植</h1> <p>{{props.info}}</p> <p>{{props.money}}</p> <!--props可以省略前面的名字---> <p>{{info}}</p> <p>{{money}}</p> <button @click="updateProps">修改props数据</button> </div> </template>
<script setup lang="ts"> //需要使用到defineProps方法去接受父组件传递过来的数据 //defineProps是Vue3提供方法,不需要引入直接使用 let props = defineProps(['info','money']); //数组|对象写法都可以 //按钮点击的回调 const updateProps = ()=>{ // props.money+=10; props:只读的 console.log(props.info) } </script>
<style scoped> .son{ width: 400px; height: 200px; background: hotpink; } </style>
|