vue3 props 05

父组件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<code-pre class="code-pre" id="pre-7KFTFx"><code-line class="line-numbers-rows"></code-line><script setup lang="ts">
<code-line class="line-numbers-rows"></code-line>import person from '@/components/person.vue'
<code-line class="line-numbers-rows"></code-line>import { ref, reactive, defineProps } from 'vue'
<code-line class="line-numbers-rows"></code-line>import { type Person } from '@/types/index'
<code-line class="line-numbers-rows"></code-line>let personList = reactive<Person>([
<code-line class="line-numbers-rows"></code-line>    { id: '1', name: 'zhansan', age: 18 }
<code-line class="line-numbers-rows"></code-line>])
<code-line class="line-numbers-rows"></code-line>console.log(personList)
<code-line class="line-numbers-rows"></code-line></script>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line><template>
<code-line class="line-numbers-rows"></code-line>  <div>
<code-line class="line-numbers-rows"></code-line>    <person a="组件" b="要打印接收的参数只能把defineProps也一起打印" :list="personList"/>
<code-line class="line-numbers-rows"></code-line>  </div>
<code-line class="line-numbers-rows"></code-line></template>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line><style scoped></style>
</code-pre>

  子组件

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
31
32
33
34
35
36
37
38
39
<code-pre class="code-pre" id="pre-MY6Zx7"><code-line class="line-numbers-rows"></code-line><script setup lang="ts">
<code-line class="line-numbers-rows"></code-line>import { ref, reactive, withDefaults } from 'vue'
<code-line class="line-numbers-rows"></code-line>import { type Person } from '@/types/index'
<code-line class="line-numbers-rows"></code-line>// 接收a
<code-line class="line-numbers-rows"></code-line>// defineProps(['a','b'])
<code-line class="line-numbers-rows"></code-line>// defineProps只接收
<code-line class="line-numbers-rows"></code-line>// let x = defineProps(['a', 'b','personList'])
<code-line class="line-numbers-rows"></code-line>// 接收list+限制类型
<code-line class="line-numbers-rows"></code-line>// defineProps<{list:Person}>()
<code-line class="line-numbers-rows"></code-line>// 接收list+限制类型+限制必要性+指定默认值
<code-line class="line-numbers-rows"></code-line>// defineProps<{ list?: Person }>()
<code-line class="line-numbers-rows"></code-line>// 终极写法
<code-line class="line-numbers-rows"></code-line>withDefaults(defineProps<{ list?: Person }>(), {
<code-line class="line-numbers-rows"></code-line>    list:()=> [{
<code-line class="line-numbers-rows"></code-line>        id: '1111',
<code-line class="line-numbers-rows"></code-line>        name: 'lisi',
<code-line class="line-numbers-rows"></code-line>        age: 18
<code-line class="line-numbers-rows"></code-line>    }]
<code-line class="line-numbers-rows"></code-line>})
<code-line class="line-numbers-rows"></code-line>// 要打印接收的参数
<code-line class="line-numbers-rows"></code-line>// console.log(x)
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line></script>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line><template>
<code-line class="line-numbers-rows"></code-line>    <div>
<code-line class="line-numbers-rows"></code-line>        <!-- <p>{{ a }}</p>
<code-line class="line-numbers-rows"></code-line>        <p>{{ b }}</p> -->
<code-line class="line-numbers-rows"></code-line>        <p>{{ list }}</p>
<code-line class="line-numbers-rows"></code-line>        <ul>
<code-line class="line-numbers-rows"></code-line>            <li v-for="(item, index) in list" :key="index">
<code-line class="line-numbers-rows"></code-line>                名字:{{ item.name }}
<code-line class="line-numbers-rows"></code-line>            </li>
<code-line class="line-numbers-rows"></code-line>        </ul>
<code-line class="line-numbers-rows"></code-line>    </div>
<code-line class="line-numbers-rows"></code-line></template>
<code-line class="line-numbers-rows"></code-line>
<code-line class="line-numbers-rows"></code-line><style scoped></style>
</code-pre>

  


__EOF__

本文作者userName
本文链接https://www.cnblogs.com/wencaiguagua/p/18059980.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   文采呱呱  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2023-03-13 java进阶 -内部类 -静态类 -匿名类别类(重点)34
2023-03-13 java进阶 代码块 33
2023-03-13 java进阶 JDK8-JDK9 32
点击右上角即可分享
微信分享提示