vue——v-pre的使用

🔰 基礎理解

? 什么是 v-pre?

v-pre 是一個跳過編譯的 Vue 指令。

它告訴 Vue:“這個元素和其子元素中的內容不要被編譯處理,按原樣輸出。”

? 使用場景:

  • 展示原始的 Mustache 插值語法({{ xxx }})。
  • 模板中寫教程或代碼示例時。

? 示例代碼:

<p v-pre>{{ name }}</p>

🚀 頁面渲染效果:

{{ name }}

🔍 而不是:變量 name 的值。

🔍 進階用法

? 跳過模板編譯器解析

Vue 模板解析過程中,v-pre 會直接略過元素及其所有子節點的指令、插值表達式等編譯流程,僅保留原始 HTML。

例如:

<div v-pre><span>{{ hello }}</span><button @click="doSomething">點我</button>
</div>
  • 不會把 {{ hello }} 編譯為數據綁定。
  • @click 也不會生效(事件綁定會失效)。
  • 整個 block 是純 HTML。

? 常用場景

場景原因
教程/文檔/代碼展示不希望 Vue 編譯代碼中的花括號
靜態說明文字代碼塊不會綁定數據,不需要解析提升性能
臨時排除某個塊的解析排查問題、對比結果

? 和其他指令配合使用

  • v-pre 的優先級最高,會覆蓋其他指令
  • 即使同節點存在 v-if、v-for,也一律無效

🔁 Vue 2 與 Vue 3 的差異

特性Vue 2Vue 3
語法支持? 完整支持? 完整支持
編譯跳過機制? 編譯器在解析時判斷并跳過? 更高效地在虛擬 DOM 編譯器階段跳過
編譯后靜態提升優化? 不具備? 可配合模板靜態提升一起使用
是否仍需手動使用? 對教程等仍然實用? 使用頻率降低,Vue 3 編譯器自動處理更多

🧠 總結

項目內容說明
指令名稱v-pre
基本作用跳過編譯,保留 HTML 中原樣內容
適用場景教程代碼展示、模板排錯、靜態段落
會跳過哪些功能?插值表達式、指令綁定(如 v-if、v-for、@click)等
Vue2 和 Vue3 差異Vue 3 在靜態分析和性能提升上更強,但語義不變

案例

確保已安裝 highlight.js:

npm install highlight.js
<template><div class="demo-block"><h2 class="title">Vue 代碼示例</h2><!-- 語言切換按鈕 --><div class="tabs"><button v-for="lang in languages" :key="lang" :class="{ active: currentLang === lang }" @click="currentLang = lang">{{ lang }}</button></div><!-- 代碼展示 --><pre v-pre><code :class="'language-' + currentLang" ref="codeBlock">
{{ codeMap[currentLang] }}
</code></pre><h3>🎯 實際效果:</h3><div class="preview"><p>{{ message }}</p><button @click="sayHi">點我</button></div></div>
</template><script setup>
import { ref, watch, onMounted } from 'vue'
import hljs from 'highlight.js'
import 'highlight.js/styles/github.css'const languages = ['html', 'vue', 'js']
const currentLang = ref('vue')const codeMap = {html: `<p>{{ message }}</p>\n<button @click="sayHi">點我</button>`,vue: `<template><p>{{ message }}</p><button @click="sayHi">點我</button>
</template><script setup>
import { ref } from 'vue'
const message = ref('你好,Vue')
function sayHi() {alert('你好!')
}
<\/script>`,js: `import { ref } from 'vue'\nconst message = ref('你好,Vue')\nfunction sayHi() {\n  alert('你好!')\n}`
}const message = ref('你好,Vue')
function sayHi() {alert('你好!')
}const codeBlock = ref()const highlight = () => {if (codeBlock.value) {hljs.highlightElement(codeBlock.value)}
}onMounted(highlight)
watch(currentLang, highlight)
</script><style scoped>
.demo-block {padding: 20px;border: 1px solid #ccc;border-radius: 10px;margin: 2em 0;
}
.title {font-size: 20px;margin-bottom: 10px;
}
.tabs {margin-bottom: 10px;
}
.tabs button {margin-right: 8px;padding: 5px 10px;cursor: pointer;border: 1px solid #aaa;background: #f0f0f0;border-radius: 4px;
}
.tabs button.active {background: #007bff;color: white;border-color: #007bff;
}
.preview {margin-top: 1em;padding: 1em;background: #f9f9f9;border-radius: 8px;border: 1px dashed #ccc;
}
pre {background: #f5f5f5;padding: 10px;border-radius: 8px;overflow-x: auto;
}
</style>

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

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

相關文章

PyTorch中TensorBoardX模塊與torch.utils.tensorboard模塊的對比分析

文章目錄 說明1. 模塊起源與開發背景2. 功能特性對比3. 安裝與依賴關系4. 性能與使用體驗5. 遷移與兼容性策略6. 最佳實踐與建議7. 未來展望8. 結論實際相關信息推薦資源 說明 TensorBoard&#xff1a;獨立工具&#xff0c;只需安裝tensorboard。TensorFlow&#xff1a;非必需…

單片機中斷系統工作原理及定時器中斷應用

文件目錄 main.c #include <REGX52.H> #include "TIMER0.H" #include "KEY.H" #include "DELAY.H"//void Timer0_Init() { // TMOD 0x01; // TL0 64536 % 256; // TH0 64536 / 256; // ET0 1; // EA 1; // TR0 1; //}unsigned char…

Python爬蟲實戰:研究Portia框架相關技術

1. 引言 1.1 研究背景與意義 在大數據時代,網絡數據已成為企業決策、學術研究和社會分析的重要資源。據 Statista 統計,2025 年全球數據總量將達到 175ZB,其中 80% 以上來自非結構化網絡內容。如何高效獲取并結構化這些數據,成為數據科學領域的關鍵挑戰。 傳統爬蟲開發需…

【機器學習基礎】機器學習與深度學習概述 算法入門指南

機器學習與深度學習概述 算法入門指南 一、引言&#xff1a;機器學習與深度學習&#xff08;一&#xff09;定義與區別&#xff08;二&#xff09;發展歷程&#xff08;三&#xff09;應用場景 二、機器學習基礎&#xff08;一&#xff09;監督學習&#xff08;二&#xff09;無…

[C語言初階]掃雷小游戲

目錄 一、原理及問題分析二、代碼實現2.1 分文件結構設計2.2 棋盤初始化與打印2.3 布置雷與排查雷2.4 游戲主流程實現 三、后期優化方向 在上一篇文章中&#xff0c;我們實現了我們的第二個游戲——三子棋小游戲。這次我們繼續結合我們之前所學的所有內容&#xff0c;制作出我們…

ROS云課三分鐘-破壁篇GCompris-一小部分支持Edu應用列表-2025

開啟藍橋云課ROS ROS 機器人操作系統初級教程_ROS - 藍橋云課 安裝和使用GCompris 終端輸入&#xff1a;sudo apt install gcompris sudo apt install gcompris ok&#xff0c;完成即可。 sudo apt install gcompris 如果是平板&#xff0c;秒變兒童學習機。 啟動 流暢運…

Linux系統基礎——是什么、適用在哪里、如何選

一、Linux是什么 Linux最初是由林納斯托瓦茲&#xff08;Linus Torvalds&#xff09;基于個人興趣愛好開發的個人項目&#xff0c;他編寫了最核心的內核&#xff1b;后面為了發展壯大Linux系統他將整個項目開源到GitHub上&#xff0c;可以讓全世界的人都參與到項目的開發維護中…

26、AI 預測性維護 (燃氣輪機軸承) - /安全與維護組件/ai-predictive-maintenance-turbine

76個工業組件庫示例匯總 AI 預測性維護模擬組件 (燃氣輪機軸承) 概述 這是一個交互式的 Web 組件,旨在模擬基于 AI 的預測性維護 (Predictive Maintenance, PdM) 概念,應用于工業燃氣輪機的關鍵部件(例如軸承)。它通過模擬傳感器數據、動態預測剩余使用壽命 (RUL),并根…

el-form 使用el-row el-col對齊 注意事項

1.el-form 使用inline&#xff0c;el-form-item寬度會失效。 2.為了保證el-form-item 和 它內部的el-input 能在一行&#xff0c;要設置el-form-item的label-width <el-form :model"editInspectform"><el-row style"margin-bottom: 20px"><…

mac 安裝 mysql 和 mysqlshell

1. 安裝 mysql https://dev.mysql.com/downloads/mysql/?spma2c6h.12873639.article-detail.4.37474f4dTHdszC 默認mysql未配置環境變量&#xff0c;可以在設置中找到 2. 安裝 mysqlshell https://dev.mysql.com/downloads/shell/ #啟動mysql-shell mysqlsh 3. 使用 mysq…

漏洞檢測與滲透檢驗在功能及范圍上究竟有何顯著差異?

漏洞檢測與滲透檢驗是確保系統安全的重要途徑&#xff0c;這兩種方法各具特色和功效&#xff0c;它們在功能上有著顯著的差異。 目的不同 漏洞掃描的主要任務是揭示系統內已知的安全漏洞和隱患&#xff0c;這就像是對系統進行一次全面的健康檢查&#xff0c;看是否有已知的疾…

機器學習模型度量指標(混淆矩陣、準確率、精確率、召回率、F1分數、ROC曲線、AUC、平均精度均值)

我們研究的是多分類問題&#xff0c;下面所有例子以多分類問題舉例 混淆矩陣&#xff08;Confusion Matrix&#xff09; 混淆矩陣&#xff08; Confusion Matrix &#xff09;是一個表格&#xff0c;用于可視化機器學習模型在分類問題上 的性能。混淆矩陣的行表示實際類別&…

打卡day35

一、模型結構可視化 理解一個深度學習網絡最重要的2點&#xff1a; 了解損失如何定義的&#xff0c;知道損失從何而來----把抽象的任務通過損失函數量化出來了解參數總量&#xff0c;即知道每一層的設計才能退出—層設計決定參數總量 為了了解參數總量&#xff0c;我們需要知…

時序數據庫 TDengine × Superset:一鍵構建你的可視化分析系統

如果你正在用 TDengine 管理時序數據&#xff0c;寫 SQL 查詢沒問題&#xff0c;但一到展示環節就犯難——圖表太基礎&#xff0c;交互不夠&#xff0c;甚至連團隊都看不懂你辛苦分析的數據成果&#xff1f;別擔心&#xff0c;今天要介紹的這個組合&#xff0c;正是為你量身打造…

C# 初學者的 3 種重構模式

(Martin Fowlers Example) 1. 積極使用 Guard Clause&#xff08;保護語句&#xff09; "如果條件不滿足&#xff0c;立即返回。將核心邏輯放在最少縮進的地方。" 概念定義 Guard Clause&#xff08;保護語句&#xff09; 是一種在函數開頭檢查特定條件是否滿足&a…

基于51單片機和8X8點陣屏、獨立按鍵的滑動躲閃類小游戲

目錄 系列文章目錄前言一、效果展示二、原理分析三、各模塊代碼1、8X8點陣屏2、獨立按鍵3、定時器04、定時器1 四、主函數總結 系列文章目錄 前言 用的是普中A2開發板。 【單片機】STC89C52RC 【頻率】12T11.0592MHz 【外設】8X8點陣屏、獨立按鍵 效果查看/操作演示&#xff…

Java面向對象 一

系列文章目錄 Java面向對象 二-CSDN博客 Java面向對象 三-CSDN博客 目錄 系列文章目錄 前言 一、初步認識面向對象 1.類和對象的簡單理解 2.類的構成 二、類的實例化 1.對象的創建 2.對象的初始化 三、this引用的作用 四、構造方法 1.構造方法的提供 2.對象的構…

深度學習Y8周:yolov8.yaml文件解讀

&#x1f368; 本文為&#x1f517;365天深度學習訓練營中的學習記錄博客&#x1f356; 原作者&#xff1a;K同學啊 本周任務&#xff1a;根據yolov8n、yolov8s模型的結構輸出&#xff0c;手寫出yolov8l的模型輸出、 文件位置&#xff1a;./ultralytics/cfg/models/v8/yolov8.…

【RocketMQ 生產者和消費者】- 生產者啟動源碼 - MQClientInstance 定時任務(4)

文章目錄 1. 前言2. startScheduledTask 啟動定時任務2.1 fetchNameServerAddr 拉取名稱服務地址2.2 updateTopicRouteInfoFromNameServer 更新 topic 路由信息2.2.1 topic 路由信息2.2.2 updateTopicRouteInfoFromNameServer 獲取 topic2.2.3 updateTopicRouteInfoFromNameSer…

解決Docker容器內yum: not found、apt: not found、apk: command not found等命令找不到問題

Linux有很多發行版&#xff0c;各發行版的包管理工具不一定相同。 Alpine的包管理工具是 apk Debian/Ubuntu的包管理工具是 apt Centos/RHEL的包管理工具是 yum 在安裝軟件之前&#xff0c;需要先查看Docker容器內的Linux是什么發行版&#xff0c;可使用 cat /etc/os-rele…