02 . Vue入門基礎之條件渲染,列表渲染,事件處理器,表單控制元件繫結
阿新 • • 發佈:2020-11-14
#### vue基礎
##### 宣告式渲染
`Vue.js 的核心是一個允許採用簡潔的模板語法來宣告式地將資料渲染進 DOM 的系統`
`Example1`
```vue
Examples
{{ 10+203 }}
這裡我們遇到了一點新東西。你看到的 `v-bind` attribute 被稱為**指令**。指令帶有字首 `v-`,以表示它們是 Vue 提供的特殊 attribute。可能你已經猜到了,它們會在渲染的 DOM 上應用特殊的響應式行為。在這裡,該指令的意思是:“將這個元素節點的 `title` attribute 和 Vue 例項的 `message` property 保持一致”。
>
> 如果你再次開啟瀏覽器的 JavaScript 控制檯,輸入 `app2.message = '新訊息'`,就會再一次看到這個綁定了 `title` attribute 的 HTML 已經進行了更新。
![](https://img2020.cnblogs.com/blog/1871335/202011/1871335-20201113211705676-666348544.png)
##### 條件與迴圈
```vue
var app3 = new Vue({
el: '#app-3',
data: {
seen: true
}
})
```
> 繼續在控制檯輸入 `app3.seen = false`,你會發現之前顯示的訊息消失了。
>
> 這個例子演示了我們不僅可以把資料繫結到 DOM 文字或 attribute,還可以繫結到 DOM **結構**。此外,Vue 也提供一個強大的過渡效果系統,可以在 Vue 插入/更新/移除元素時自動應用[過渡效果](https://cn.vuejs.org/v2/guide/transitions.html)。
>
> 還有其它很多指令,每個都有特殊的功能。例如,`v-for` 指令可以繫結陣列的資料來渲染一個專案列表:
```vue
Examples
Examples
Examples
{{ 10+20 }}
{{ 10>20? 'aaa':'bbb' }}
{{ myname}}
{{ myhtml }}
```
#### 條件渲染
##### Vue-class繫結和Vue-style繫結
`Example1`
```vue
Examples
我是動態繫結class-三目寫法
我是動態繫結class-物件寫法
我是動態繫結class-陣列寫法
我是動態繫結style-三目寫法
我是動態繫結style-物件寫法
我是動態繫結style-陣列寫法
```
##### 條件渲染
`Example1`
```vue
Examples
動態建立和刪除-1
動態建立和刪除-2
Examples
Examples
Examples
111
```
##### 事件修飾符
```go
/*
1. 監聽事件-直接出發程式碼
2. 方法事件處理器-寫函式名 handleClick
3. 內聯處理器方法-執行函式表示式 handleClick($event) $event 事件物件
*/
```
`Example1`
`阻止冒泡,預設行為`
```vue
Examples
111
Examples
```
#### 表單控制元件繫結
##### 基礎用法-文字
> 你可以用 `v-model` 指令在表單 ``、`
{{ myname }}
{{ 10+20 }} ``` > 我們已經成功建立了第一個 Vue 應用!看起來這跟渲染一個字串模板非常類似,但是 Vue 在背後做了大量工作。現在資料和 DOM 已經被建立了關聯,所有東西都是**響應式的**。我們要怎麼確認呢?開啟你的瀏覽器的 JavaScript 控制檯 (就在這個頁面開啟),並修改 `app.message` 的值,你將看到上例相應地更新。 > > 注意我們不再和 HTML 直接互動了。一個 Vue 應用會將其掛載到一個 DOM 元素上 (對於這個例子是 `#app`) 然後對其進行完全控制。那個 HTML 是我們的入口,但其餘都會發生在新建立的 Vue 例項內部。 `除了文字插值,我們還可以像這樣來繫結元素 attribute:` ```vue 滑鼠懸停幾秒鐘檢視此處動態繫結的提示資訊! var app2 = new Vue({ el: '#app-2', data: { message: '頁面加載於 ' + new Date().toLocaleString() } }) ``` >現在你看到我了
- {{ todo.text }}
{{ message}}
``` #### 模板語法 ##### vue插值(v-if和v-show) ```go /* 文字{{}} 純HTML v-html, 防止XSS,csrf ( (1)前端過濾 (2)後臺轉義(<> < >) (3)給cookie加上屬性http ) 指令 v-html v-show */ ``` `Example1` ```vue- {{ data }}
- {{ data }}--{{ index }}
- {{ data }}--{{key}}
- {{ data }}
- 111
- 222
- 333