QuickUI 文字替換
提供兩種主要的文字替換方式:
{{ }}語法和:html屬性。將動態資料渲染到 DOM 結構中。
{{ }} 語法
插值表達式使用雙大括號語法 {{ }} 將資料屬性插入到 HTML 內容中,並自動進行文字轉義處理,確保安全顯示。
基本語法
<標籤>{{ 變數名稱 }}</標籤>
使用範例
HTML 代碼
<body id="app">
<h1>{{ title }}</h1>
</body>
<script>
const app = new QUI({
id: "app",
data: {
title: "test"
}
});
</script>
渲染結果
<body id="app">
<h1>test</h1>
</body>
特點
- 自動對資料進行 HTML 轉義,防止 XSS 攻擊
- 當資料變更時,會自動更新對應的 DOM 內容
- 可在文本中混合使用多個插值表達式
:html 指令
:html 指令用於設置元素的 innerHTML 內容,允許插入原始 HTML 代碼,適用於需要渲染 HTML 標記的場景。
基本語法
<標籤 :html="變數名稱"></標籤>
使用範例
HTML 代碼
<body id="app">
<section :html="html"></section>
</body>
<script>
const app = new QUI({
id: "app",
data: {
html: "<b>innerHtml</b>"
}
});
</script>
渲染結果
<body id="app">
<section>
<b>innerHtml</b>
</section>
</body>
特點
- 可插入原始 HTML 代碼,不進行轉義處理
- 適合用於渲染富文本內容
- 支援複雜的 HTML 結構
- 當資料變更時,整個內容會被重新渲染
高級功能
計算表達式
插值表達式支援基本的計算功能:
<div>{{ CALC(price * quantity) }}</div>
字串操作
支援字串大小寫轉換:
<div>{{ UPPER(username) }}</div>
<div>{{ LOWER(username) }}</div>
日期格式化
支援日期時間格式化:
<div>{{ DATE(timestamp, yyyy/MM/DD HH:mm:ss) }}</div>
長度獲取
可獲取陣列或字串的長度:
<div>商品數量:{{ LENGTH(products) }}</div>
注意事項
- 使用
:html指令時,需確保內容安全性,避免注入惡意代碼 - 對於需要在屬性中綁定資料的場景,應使用相應的屬性綁定指令
- 當資料結構較為複雜時,建議使用計算屬性或方法進行預處理
- 更新資料時,QuickUI 會自動重新渲染相應的 DOM 元素