vue3中接收props的兩種寫法

在 Vue 3 中,接收?props?有兩種主要的寫法,分別是運行時聲明基于類型的聲明。下面為你詳細介紹這兩種寫法。

1. 運行時聲明

運行時聲明是 Vue 2 中就已經存在的方式,在 Vue 3 中依然可以使用。這種方式通過在組件中使用?defineProps?宏來定義?props,并且可以指定?props?的類型、默認值和驗證規則。

示例代碼
<template><div><p>Name: {{ name }}</p><p>Age: {{ age }}</p></div>
</template><script setup>
// 使用運行時聲明接收props
const props = defineProps({name: {type: String,required: true},age: {type: Number,default: 18}
});
</script>
代碼解釋
  • defineProps?是一個宏,用于定義組件的?props
  • name?和?age?是定義的兩個?props
    • name?是一個必需的字符串類型的?prop
    • age?是一個可選的數字類型的?prop,默認值為?18

2. 基于類型的聲明

基于類型的聲明是 Vue 3 新增的特性,它利用 TypeScript 的類型系統來定義?props。這種方式更加簡潔,并且可以提供更好的類型檢查。

示例代碼
<template><div><p>Name: {{ name }}</p><p>Age: {{ age }}</p></div>
</template><script setup lang="ts">
// 使用基于類型的聲明接收props
interface Props {name: string;age?: number;
}const props = defineProps<Props>();
</script>
代碼解釋
  • 首先定義了一個?Props?接口,用于描述?props?的類型。
  • name?是一個必需的字符串類型的?prop
  • age?是一個可選的數字類型的?prop
  • defineProps<Props>()?使用泛型來指定?props?的類型。

兩種寫法的對比

  • 運行時聲明:適用于不使用 TypeScript 的項目,或者需要定義復雜的驗證規則和默認值的場景。
  • 基于類型的聲明:適用于使用 TypeScript 的項目,它可以提供更好的類型檢查和代碼提示。

使用組件

無論使用哪種方式聲明?props,使用組件時傳遞?props?的方式是相同的。

<template><MyComponent name="John" age="25" />
</template><script setup>
import MyComponent from './MyComponent.vue';
</script>

以上就是 Vue 3 中接收?props?的兩種主要寫法。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72979.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72979.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72979.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用android studio模擬器,模擬安卓手機訪問網頁,使用Chrome 開發者工具查看控制臺信息

web 網頁項目在安卓手機打開時出現問題&#xff0c;想要查看控制臺調試信息。記錄一下使用android studio 模擬器訪問的方式。 步驟如下&#xff1a; 1.安裝android studio&#xff0c;新增虛擬設備&#xff08;VDM- virtual device manager) 點擊Virtual Device Manager后會…

《打造視頻同步字幕播放網頁:從0到1的技術指南》

《打造視頻同步字幕播放網頁&#xff1a;從0到1的技術指南》 為什么要制作視頻同步字幕播放網頁 在數字化信息飛速傳播的當下&#xff0c;視頻已然成為內容輸出與獲取的核心載體&#xff0c;其在教育、娛樂、宣傳推廣等諸多領域發揮著舉足輕重的作用 。制作一個視頻同步字幕播…

spring-boot-starter和spring-boot-starter-web的關聯

maven的作用是方便jar包的管理&#xff0c;所以每一個依賴都是對應著相應的一個或者一些jar包&#xff0c;從網上看到很多對spring-boot-starter的描述就是“這是Spring Boot的核心啟動器&#xff0c;包含了自動配置、日志和YAML。”沒看太明白&#xff0c;所參與的項目上也一直…

數智讀書筆記系列015 探索思維黑箱:《心智社會:從細胞到人工智能,人類思維的優雅解讀》讀書筆記

引言 《The Society of Mind》&#xff08;《心智社會》&#xff09;的作者馬文?明斯基&#xff08;Marvin Minsky&#xff09;&#xff0c;是人工智能領域的先驅和奠基者之一 &#xff0c;1969 年獲得圖靈獎&#xff0c;被廣泛認為是對人工智能領域影響最大的科學家之一。他…

Vue 項目中,.env文件怎么用?

在 Vue 項目中&#xff0c;.env 文件用于存儲環境變量&#xff0c;不同的環境&#xff08;如開發環境、測試環境、生產環境&#xff09;可以使用不同的 .env 文件來管理對應的配置信息。以下是關于 Vue 項目中 .env 文件的詳細使用方法&#xff1a; 1. 項目創建 確保你已經使…

【網絡編程】WSAAsyncSelect 模型

十、基于I/O模型的網絡開發 接著上次的博客繼續分享&#xff1a;select模型 10.8 異步選擇模型WSAAsyncSelect 10.8.1 基本概念 WSAAsyncSelect模型是Windows socket的一個異步I/O 模型&#xff0c;利用這個模型&#xff0c;應用程序 可在一個套接字上接收以Windows 消息為基…

論文閱讀方法

文章目錄 步驟一&#xff1a;對論文進行自我判斷閱讀題目和關鍵詞。閱讀摘要閱讀總結要點 步驟二&#xff1a;閱讀文章閱讀圖表和圖表的注釋閱讀引言閱讀實驗部分閱讀結果和作者對結果的討論&#xff08;創新點&#xff09;要點 步驟三&#xff1a;精度論文回答問題1回答問題2回…

計算機網絡:計算機網絡的組成和功能

計算機網絡的組成&#xff1a; 計算機網絡的工作方式&#xff1a; 計算機網絡的邏輯功能; 總結&#xff1a; 計算機網絡的功能&#xff1a; 1.數據通信 2.資源共享 3.分布式處理:計算機網絡的分布式處理是指將計算任務分散到網絡中的多個節點&#xff08;計算機或設備&…

字符串習題

單詞個數統計 原作&#xff1a; 輸入&#xff1a; 一行字符串。僅有空格和英文字母構成。 輸出&#xff1a; 英文字母個數letter_num 單詞個數word_num 出現最多的字母max_letter 出現最多的字母的出現次數max_letter_frequ 處理&#xff1a; 統計并輸出此句子英文字母…

解決火絨啟動時,報安全服務異常,無法保障計算機安全

1.找到控制面板-安全和維護-更改用戶賬戶控制設置 重啟啟動電腦解決。

python總結(1)

數據結構是以某種方式(如通過編號)組合起來的數據元素(如數、字符乃至其他數據結構)集合。在Python中&#xff0c;最基本的數據結構為序列(sequence)。序列中的每個元素都有編號&#xff0c;即其位置或索引&#xff0c;其中第一個元素的索引為0&#xff0c;第二個元素的索引為1…

NAT NAPT

NAT NAT&#xff08;Network Address Translation&#xff0c;網絡地址轉換&#xff09; 主要用于在不同網絡&#xff08;如私有網絡和公共互聯網&#xff09;之間進行 IP 地址轉換&#xff0c;解決IP 地址短缺問題&#xff0c;并提供一定的安全性。 IPv4 地址是 32 位&#xf…

快速排序(二叉樹的前序遞歸遍歷思想)

思路 之前我們從選擇排序&#xff0c;到選擇排序的穩定性優化&#xff0c;到冒泡排序&#xff0c;到插入排序&#xff0c;到插入排序的提前截止時間&#xff0c;到希爾排序&#xff0c;雖然逐步一直都在優化&#xff0c;但是時間復雜度還是N得平方&#xff0c;力扣提交的結果一…

Redis 面試篇

Redis相關面試題 緩存三劍客 面試官&#xff1a;什么是緩存穿透 ? 怎么解決 ? 緩存穿透是指查詢一個一定不存在的數據&#xff0c;如果從存儲層查不到數據則不寫入緩存&#xff0c;這將導致這個不存在的數據每次請求都要到 DB 去查詢&#xff0c;可能導致 DB 掛掉。這種情況…

群暉DS223 Docker搭建為知筆記

群暉DS223 Docker搭建為知筆記&#xff0c;打造你的專屬知識寶庫 一、引言 在數字化信息爆炸的時代&#xff0c;筆記軟件成為了我們管理知識、記錄靈感的得力助手。為知筆記&#xff0c;作為一款專注于工作筆記和團隊協作的云筆記產品&#xff0c;以其豐富的功能和便捷的使用體…

Linux網絡之數據鏈路層協議

目錄 數據鏈路層 MAC地址與IP地址 數據幀 ARP協議 NAT技術 代理服務器 正向代理 反向代理 上期我們學習了網絡層中的相關協議&#xff0c;為IP協議。IP協議通過報頭中的目的IP地址告知了數據最終要傳送的目的主機的IP地址&#xff0c;從而指引了數據在網絡中的一步…

分類評價指標

基礎概念解釋 TP、TN、FP、FN 這里T是True&#xff0c;F是False&#xff0c;P為Positive&#xff0c;N為Negative TP&#xff1a;被模型正確地預測為正樣本&#xff08;原本為正樣本&#xff0c;預測為正樣本&#xff09; TN&#xff1a;被模型正確地預測為負樣本&#xff0…

LeetCode 哈希章節

簡單 1. 兩數之和 給定一個整數數組 nums 和一個整數目標值 target&#xff0c;請你在該數組中找出 和為目標值 target 的那 兩個 整數&#xff0c;并返回它們的數組下標。 你可以假設每種輸入只會對應一個答案&#xff0c;并且你不能使用兩次相同的元素。 你可以按任意順序返…

WLAN(無線局域網)安全

WLAN安全涉及到保護無線局域網免受各種威脅和攻擊&#xff0c;以確保數據的保密性、完整性和可用性。以下是關于WLAN安全的多方面介紹&#xff1a; 一、主要安全威脅 竊聽&#xff1a;攻擊者利用特殊設備監聽無線信號&#xff0c;獲取傳輸中的數據&#xff0c;如用戶的賬號密…

江科大51單片機筆記【11】AT24C02(I2C總線)

一、存儲器 1.介紹 RAM的特點是存儲速度特別快&#xff0c;但是掉電會丟失&#xff1b;ROM的特點是存儲速度特別慢&#xff0c;但是掉電不會丟失 SRAM是所有存儲器最快的&#xff0c;一般用于電腦的CPU高速緩存&#xff0c;容量相對較少&#xff0c;成本較高&#xff1b;DRAM…