【Vue】基礎系列(二)模板語法 - 插值語法 - 指令語法 - | v-bind | v-model | v-on | v-if | v- show
theme: vue-pro highlight: a11y-dark
嗨!~ 大家好,我是YK菌 🐷 ,一個微系前端 ✨,愛思考,愛總結,愛記錄,愛分享 🏹,歡迎關注我呀 😘 ~ [微訊號:
yk2012yk2012
,微信公眾號:ykyk2012
]
「這是我參與11月更文挑戰的第16天,活動詳情檢視:2021最後一次更文挑戰」
今天學習Vue基礎知識...從頭開始學,學的還是Vue2, Vue3之前博文裡介紹過了,其實本文是我剛學Vue時的筆記,參考的是B站尚矽谷的影片....
1. 模板的理解
- 動態html頁面
-
包含了一些==js語法程式碼==
-
【插值語法】雙大括號表示式 (“Mustache”語法)【一個】
-
【指令語法】指令(以v-開頭的自定義標籤屬性)【很多】
-
插值語法: 功能:用於解析標籤體內容 寫法:{{xxx}},xxx是js表示式,且可以直接讀取到data中的所有屬性
-
指令語法: 功能:用於解析標籤(包括:標籤屬性、標籤體內容、繫結事件.....) 舉例:v-bind:href="xxx" 或 簡寫為 :href="xxx",xxx同樣要寫js表示式,且可以直接讀取到data中的所有屬性 備註:Vue中有很多的指令,且形式都是:v-????
2. 插值語法:雙大括號表示式
- 語法:
{{exp}}
- 功能: 向頁面輸出資料
- 可以呼叫物件的方法
裡面寫js表示式:有返回值的js程式碼,而不是js語句
3. 指令語法:強制資料繫結 v-bind:
功能:指定變化的屬性值
完整寫法
javascript
v-bind:xxx='yyy' // yyy會作為表示式解析執行
簡潔寫法
javascript
:xxx='yyy'
單向資料繫結
- 語法:
v-bind:href ="xxx"
或簡寫為:href ="xxx"
- 特點:資料只能從 data 流向頁面
雙向資料繫結 指令 v-model
- 語法:
v-mode:value="xxx"
或簡寫為v-model="xxx"
- 特點:資料不僅能從 data 流向頁面,還能從頁面流向 data
4. 指令語法:繫結事件監聽 v-on:
功能:繫結指定事件名的回撥函式
完整寫法
javascript
v-on:click='xxx'
v-on:keyup='xxx(引數)'
v-on:keyup.enter='xxx'
簡潔寫法
javascript
@click='xxx'
@keyup='xxx'
@keyup.enter='xxx'
5. 示例
v-text
1. 作用:向其所在的節點中渲染文字內容。
2. 與插值語法的區別:v-text
會替換掉節點中的內容,{{xx}}
則不會。
v-html
1. 作用:向指定節點中渲染包含html結構的內容。
2. 與插值語法的區別:
(1).v-html
會替換掉節點中所有的內容,{{xx}}
則不會。
(2).v-html
可以識別html結構。
3. 嚴重注意:v-html
有安全性問題!!!!
(1).在網站上動態渲染任意HTML是非常危險的,容易導致XSS攻擊。
(2).一定要在可信的內容上使用v-html
,永不要用在使用者提交的內容上!
```html
1. 大括號表示式
{{msg}}
{{msg.toUpperCase()}}
2. 指令一: 強制資料繫結
3. 指令二: 繫結事件監聽
```
6. 條件渲染指令
移除標籤刪除
- v-if
- v-else
寫法:
1. v-if="表示式"
2. v-else-if="表示式"
3. v-else="表示式"
適用於:切換頻率較低的場景。 特點:不展示的DOM元素直接被移除。 注意:v-if可以和:v-else-if、v-else一起使用,但要求結構不能被“打斷”。
新增樣式隱藏(display: none)
- v-show
寫法:v-show="表示式"
適用於:切換頻率較高的場景。
特點:不展示的DOM元素未被移除,僅僅是使用樣式隱藏掉
【備註】使用v-if的時候,元素可能無法獲取到,而使用v-show一定可以獲取到。
7. 比較v-if與v-show
- 如果需要頻繁切換 v-show 較好
- 當條件不成立時, v-if 的所有子節點不會解析
```html
成功了
失敗了
又成功了
又失敗了
```
最後,歡迎關注我的專欄,和YK菌做好朋友
- 從校園到職場 | YK菌的2022年中總結
- 【青訓營】月影老師告訴我寫好JavaScript的三大原則——元件封裝
- 【青訓營】月影老師告訴我寫好JavaScript原則與技巧大總結
- 2022屆秋招,從被拒到上岸 | 談談YK菌在2021年的經歷與收穫
- 【TS】快速上手(四)配置選項 - 編譯選項compilerOptions
- 【LeetCode】圖解反轉連結串列 - 迭代 - 遞迴
- 【LeetCode】最大子序和從O(N^3)到O(N) - 暴力初探 - 分而治之 - 線上處理
- 【JS】JavaScript基礎知識自我檢查大過關(第三關)函式定義與呼叫
- 【Vue】高階系列(六)Vue-cli配置代理 -demo3-GitHub使用者查詢-axios
- 【Vue】高階系列(五)元件間通訊
- 【Vue】高階系列(四)Vue模組化實戰-demo2-任務清單todoList
- 【TS】快速上手(二)型別宣告
- 【Vue】高階系列(三)Vue模組化實戰-demo1-動態評價頁面
- 【Vue】高階系列(二)Vue相關小知識
- 【Vue】高階系列(一)Vue元件定義與使用 - 非單檔案元件 - 單檔案元件 - VueComponent
- 【Vue】基礎系列(十一)Vue指令-常用內建指令-自定義指令-全域性指令-區域性指令
- 【Vue】基礎系列(九)動畫與過渡-trasition-enter-leave
- 【Vue】基礎系列(八)生命週期 - 初始化顯示 - 更新狀態 - 死亡狀態 - 父子元件
- 【Vue】基礎系列(七)v-model - 自動收集資料 - 表單資料自動更新
- 【Vue】基礎系列(六)事件處理 - 繫結監聽 - 事件修飾符 - 按鍵修飾符