1. 程式人生 > >Vue基礎篇-模板語法

Vue基礎篇-模板語法

1.插值

(a)文字(雙大括號)

<p>{{ message }}</p>

(b)html元素(v-html指令)

<div id="app"> <p v-html="spanHTML"></p> </div>
    
<script>
    new Vue({
      el: '#app',
      data: {
        spanHTML: '<span>顯示文字內容</span>'
      }
    })
</script>

(c)屬性(v-bind指令)

<div id="app">
  <div v-bind:class="classVal"> 測試文字 </div>
</div>
    
<script>
    new Vue({
        el: '#app',
        data:{
          classVal: "redColor"
        }
    });
</script>

2.指令

v-text 更新textContent。(直接用雙大括號也是可行的)
v-html
輸出真正的HTML。(一般輸出真正html直接用元件更方便)
v-pre 跳過這個元素和它的子元素解析和渲染。(時顯時不顯操作可以用)
v-cloak 這個指令是用來保持在元素上直到關聯例項結束時進行編譯。(會出現閃爍的可能)
v-once 關聯的例項只會渲染一次。(一般後邊指定跟著元件)
v-if 可以實現條件渲染。(銷不銷燬這個元素的操作)
v-else 是搭配v-if使用的。
v-else-if
充當v-if的else-if塊,可以鏈式的使用多次。(更方便實現switch-case語句)
v-show 根據條件展示元素。(實現原理是display:none所以只是隱藏,沒有銷燬)
v-for 根據遍歷陣列來進行渲染。(三引數含義:值value,鍵名key,下標index)
v-bind 動態的繫結一個或者多個特性。(常用的是繫結class,style,href)
v-model 表單上建立雙向資料繫結。(登入或者表單提交用的很多)
v-on 監聽dom事件。

 (a)引數

v-bind:常用的是直接繫結資料物件,其簡寫方式例子中會見

<div id="app">
    <div :class="classObject">123456789</div>
</div>

<script>
    var app = new Vue({
        el: '#app',
        data: {
            classObject:{
                'isActive': false,
                'redColor': true
            }           
        }
    })
</script>

(b)修飾符

v-model

.lazy  預設情況下,v-model同步輸入框的值和資料。可以通過這個修飾符,轉變為在change事件再同步

.number  自動將使用者的輸入值轉化為數值型別

.trim 自動過濾使用者輸入的首尾空格(常用)

v-on

.stop  阻止事件繼續傳播(常用)

.prevent  事件不再過載頁面(常用)

.once   事件將只會觸發一次(常用)

.self   只當在 event.target 是當前元素自身時觸發處理函式

.passive  告訴瀏覽器你不想阻止事件的預設行為

.capture   使用事件捕獲模式,即元素自身觸發的事件先在此處處理,然後才交由內部元素進行處理

3.使用者輸入

v-model 指令用來在 input、select、text、checkbox、radio 等表單控制元件元素上建立雙向資料繫結,根據表單上的值,自動更新繫結的元素的值。

<div id="app">
    <p>{{ message }}</p>
    <input v-model="message">
</div>
    
<script>
    new Vue({
      el: '#app',
      data: {
        message: '顯示文字'
      }
    })
</script>

4.過濾器

(a)管道符“ | ”實現過濾語法書寫;

(b)可串聯,可單獨書寫,例如:{{value | filterA | filterB}} ;

(c)允許自定義過濾函式;

<div id="app">
  {{ value | filterA(1,2) }}
</div>
    
<script>
    new Vue({
      el: '#app',
      data: {
        value: '顯示文字'
      },
      filters: {
        filterA: function (val,num1,num2) {
          return val.subString(num1,num2)
        }
      }
    })
</script>

 

(d)自定義過濾器函式允許有引數,如上所示(值,1參,2參);

(e)vue自帶過濾器

capitalize

首字母大寫
uppercase 全部大寫
lowercase 全部小寫
currency 輸出金錢以及小數點
pluralize 輸出複數的形式
debounce 延期執行函式
limitBy 在 v-for 中使用,限制數量
filterBy 在 v-for 中使用,選擇資料
orderBy 在 v-for 中使用,排序

 

 

 

 

 

 

 

 

 

前端工作不好做,具有耐心不用說。

加油學習別放棄,勤奮就是可補拙。