【Vue】<script setup>和 <script>區別是什么?在使用時的寫法區別?

<script setup> 是 Vue 3 引入的一種新的腳本語法,它提供了一種更簡潔和聲明式的方式來編寫組件邏輯。它是為了解決傳統 <script> 標簽在 Vue 單文件組件(SFC)中的一些局限性而設計的。

<script setup><script> 標簽的主要區別:

<script setup> 的特點:

  1. 組合式 API<script setup> 強制使用組合式 API,這是 Vue 3 推薦的方式來組織組件邏輯。

  2. 更少的樣板代碼:不需要 export default 來暴露組件選項。

  3. 自動引入:在 <script setup> 中定義的變量、函數等會自動在模板中可用,無需使用 refreactive 顯式聲明響應式狀態。

  4. 更好的類型推斷:TypeScript 支持更直接,不需要額外的類型聲明。

  5. 更清晰的邏輯復用:通過組合式 API,邏輯可以更容易地在組件之間復用。

<script> 的特點:

  1. 選項式 API:使用 <script> 標簽時,你可以選擇使用選項式 API 或組合式 API。

  2. 需要 export default:在 <script> 中,你需要使用 export default 來定義組件選項。

  3. 顯式響應式聲明:使用 refreactivecomputed 等函數顯式聲明響應式狀態。

  4. 模板綁定:在模板中使用響應式狀態時,需要通過 {{ }} 插值或 v-bind 來綁定。

使用時的寫法區別:

使用 <script setup>

<script setup>
import { ref } from 'vue';const count = ref(0);function increment() {count.value++;
}
</script><template><button @click="increment">{{ count }}</button>
</template>

使用 <script>

<script>
import { ref } from 'vue';export default {setup() {const count = ref(0);function increment() {count.value++;}return { count, increment };},
};
</script><template><button @click="increment">{{ count }}</button>
</template>

<script setup> 中,countincrement 函數直接在模板中可用,而在 <script> 中,它們需要通過 return 語句從 setup 函數中返回,以便在模板中使用。

總的來說,<script setup> 提供了一種更現代、更簡潔的方式來編寫 Vue 組件,它鼓勵使用組合式 API,并且減少了樣板代碼。隨著 Vue 3 的普及,<script setup> 可能會成為編寫 Vue 組件的主流方式。

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

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

相關文章

Kotlin 數據類與密封類

Kotlin 數據類與密封類 引言 在 Kotlin 中&#xff0c;數據類和密封類是兩種非常重要的類類型&#xff0c;它們各自具有獨特的用途和優勢。數據類主要用于存儲數據&#xff0c;而密封類則用于表示受限的類層次結構。在本篇文章中&#xff0c;我們將深入探討 Kotlin 中的數據類…

Linux之信號量

目錄 信號量 信號量相關接口 創建信號量 初始化信號量 等待信號量&#xff0c;P操作 發布信號量&#xff0c;V操作 銷毀信號量 基于信號量的環形隊列下的生產者和消費者模型 環形隊列 代碼實現 上期我們學習了線程同步的概念&#xff0c;掌握了基于阻塞隊列的生產…

【電子通識】PWM驅動讓有刷直流電機恒流工作

電機的典型驅動方法包括電壓驅動、電流驅動以及PWM驅動。本文將介紹采用PWM驅動方式的恒流工作。 首先介紹的是什么是PWM驅動的電機恒流工作&#xff0c;其次是PWM驅動電機恒流工作時電路的工作原理。 PWM驅動 當以恒定的電流驅動電機時&#xff0c;電機會怎樣工作呢&#xff1…

非docker方式部署openwebui過程記錄

之前一直用docker方式部署openwebui&#xff0c;結果這東西三天兩頭升級&#xff0c;我這一升級拉取docker鏡像硬盤空間嗖嗖的占用&#xff0c;受不了&#xff0c;今天改成了直接部署&#xff0c;以下是部署過程記錄。 一、停止及刪除沒用的docker鏡像占用的硬盤空間 docker s…

[python3]Excel解析庫-xlwings

xlwings 是一個強大的 Python 庫&#xff0c;它允許你直接與 Microsoft Excel 進行交互。通過 xlwings&#xff0c;你可以輕松地在 Python 腳本或 Jupyter Notebook 中讀取、寫入和操作 Excel 文件&#xff0c;而無需手動打開 Excel 應用程序。此外&#xff0c;xlwings 還支持將…

Kafka 消費者專題

目錄 消費者消費者組消費方式消費規則獨立消費主題代碼示例&#xff08;極簡&#xff09;代碼示例&#xff08;獨立消費分區&#xff09; offset自動提交代碼示例&#xff08;自動提交&#xff09;手動提交代碼示例&#xff08;同步&#xff09;代碼示例&#xff08;異步&#…

【游戲設計原理】47 - 超游戲思維

對于這條原理&#xff0c;我首先想到的是開放世界&#xff0c;或者探索性游戲&#xff0c;這是最能包容各類玩家的游戲類型。這類游戲定義了基本規則&#xff0c;玩家的可操作性很強。就像上圖里的沙池一樣&#xff0c;里面有滑梯&#xff0c;是規則性比較明確的&#xff0c;而…

奧迪TT MK1(初代奧迪TT、第一代奧迪TT)儀表盤故障/不精準/水溫/剩余油量不準,如何修復、測試、復位?

故障現象 水溫不準&#xff0c;冷啟動就130℃汽油加滿&#xff0c;指針依然在中間偏左的位置 如下圖&#xff1a; 診斷過程 通過VAG KKL 409 USB OBD接口讀取水溫和油位數值正常&#xff0c;故判斷是儀表指針馬達損壞或需要重置指針位置 維修步驟 推薦選擇CH340&#xff08;老…

Nginx——服務器端集群搭建與擴展模塊(五/五)

目錄 1.Nginx實現服務器端集群搭建1.1.Nginx 與 Tomcat 部署1.1.1.環境準備 (Tomcat)1.1.2.環境準備 (Nginx) 1.2.Nginx實現動靜分離1.2.1.概述1.2.2.需求分析1.2.3.動靜分離實現步驟 1.3.Nginx 實現 Tomcat 集群搭建1.4.Nginx 高可用解決方案1.4.1.概述1.4.2.Keepalived 介紹1…

輕量級通信協議 JSON-RPC 2.0 詳解

目錄 JSON-RPC 2.0 簡介 請求對象 響應對象 通知 批量請求 錯誤碼 使用場景 文檔和版本控制 社區和支持 小結 參考資料 JSON-RPC 2.0 簡介 JSON-RPC (JavaScript Object Notation - Remote Procedure Call) 是一種輕量級的遠程過程調用協議&#xff0c;使用 JSON&am…

ffmpeg之h264格式轉yuv

h264格式轉yuv詳細步驟 初始化FFmpeg庫&#xff1a;通過av_register_all()來初始化必要的組件。打開輸入文件并查找解碼器&#xff1a;使用avformat_open_input和 avcodec_find_decoder 打開H.264文件&#xff0c;并查找視頻流。分配并配置解碼上下文&#xff1a;使用 avcodec…

創建VUE腳手架

1.輸入 npm create vuelatest2.創建完成

vue3如何實現防抖?

第一 防抖就是我們設置一個調用時間&#xff0c;點擊后設置時間開始倒計時&#xff0c;如果再次點擊會重新倒計時 npm或yarn安裝&#xff1a; npm install lodash <template><div click"debouncedInputHandler"><button>打印</button>…

JavaWeb開發(六)XML介紹

1. XML介紹 1.1. 什么是XML &#xff08;1&#xff09;XML 指可擴展標記語言(EXtensible Markup Language)XML 是一種很像HTML的標記語言。 ??&#xff08;2&#xff09;XML 的設計宗旨是傳輸數據(目前主要是作為配置文件)&#xff0c;而不是顯示數據。 ??&#xff08;3&a…

用shell把(1到100)100個整數寫入到二進制文件

author: hjjdebug date: 2025年 01月 05日 星期日 16:14:41 CST description: 用shell把(1到100)100個整數寫入到二進制文件 1. 問題分析(需求分析) 在c語言下, 整數int 是按4個字節存儲的,能表示最大0xffffffff的范圍 但shell并沒有一條命令能夠實現把一個整數寫入二進制文件…

SpringBoot下載文件的幾種方式

小文件&#xff1a;直接將文件一次性讀取到內存中&#xff0c;文件大可能會導致OOM GetMapping("/download1")public void download1(HttpServletResponse response) throws IOException {// 指定要下載的文件File file new File("C:\\Users\\syd\\Desktop\\do…

Flink使用

Window下啟動支持 下載或復制老版本的放在bin目錄下即可&#xff1b; flink.bat echo off setlocalSET bin%~dp0 SET FLINK_HOME%bin%.. SET FLINK_LIB_DIR%FLINK_HOME%\lib SET FLINK_PLUGINS_DIR%FLINK_HOME%\pluginsSET JVM_ARGS-Xmx512mSET FLINK_JM_CLASSPATH%FLINK_LI…

Python基礎知識回顧-數據結構

Tuple 在 Python 中&#xff0c;我們經常使用 Tuple 來將相關數據分組。Tuple 指的是有序且不可變的元素集合。 形式&#xff1a;通常以逗號分隔的元素寫在括號"() "中。 數據類型和索引&#xff1a;包含 String、整數和浮點數&#xff0c;并使用正索引和負索引訪問…

8. C++ 面向對象之特性一(封裝)

面向對象主要包括三大類&#xff1a;封裝&#xff0c;繼承&#xff0c;多態 1.類和對象 c認為&#xff0c;萬物皆為對象&#xff0c;對象上有其屬性和行為 人可以作為對象&#xff0c;屬性有姓名、年齡、身高、體重...&#xff0c;行為有走、跑、跳、吃飯、唱歌... 車也可以作…

WebRtc02:WebRtc架構、目錄結構、運行機制

整體架構 WebRtc主要分為三層&#xff1a; CAPI層&#xff1a;外層調用Session管理核心層&#xff1a;包括視頻引擎、音頻引擎、網絡傳輸 可由使用者重寫視頻引擎&#xff1a;編解碼器、視頻緩存、視頻增強音頻引擎&#xff1a;編解碼器、音頻緩存、回音消除、降噪傳輸&#x…