溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue.js中有哪些常用的指令

發布時間:2021-03-30 16:48:41 來源:億速云 閱讀:158 作者:Leah 欄目:web開發

這篇文章將為大家詳細講解有關Vue.js中有哪些常用的指令,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1.數據渲染:v-text、v-html、{{}}

1.1 v-text

詳細:更新元素的 textContent。如果要更新部分的 textContent ,需要使用 {{ Mustache }} 插值。

實例:

<div id="app">
 <p v-text="message"></p>
</div>
<script>
  new Vue({
    el:'#app',
    data: {
      message:'Hello World!'
    }
  });
</script>

1.2 {{}} 和上面的v-text效果一樣

實例:

<div id="app">
 <p>{{message}}</p>
</div>
<script>
  new Vue({
    el:'#app',
    data: {
      message:'Hello World!'
    }
  });
</script>

1.3 v-html

詳細:更新元素的 innerHTML 。注意:內容按普通 HTML 插入 - 不會作為 Vue 模板進行編譯 。如果試圖使用v-html 組合模板,可以重新考慮通過是否通過使用組件來替代。

注意:在網站上動態渲染任意 HTML 是非常危險的,因為容易導致XSS攻擊。只在可信內容上使用v-html,永不用在用戶提交的內容上。

實例:

<div id="app">
 <p v-html="message"></p>
</div>
<script>
  new Vue({
    el:'#app',
    data: {
      message:'<h6>hello vue.js</h6>'
    }
  });
</script>

2.條件渲染 控制模板隱藏:v-show 、v-if、v-else

2.1 v-show

用法:根據表達式之真假值,切換元素的 display CSS 屬性。當條件變化時該指令觸發過渡效果。

注意: v-show 不支持 <template> 語法

實例:

<div id="app">
 <p v-show="isShow">
  show
 </p>
</div>
<script>
  new Vue({
    el:'#app',
    data: {
      isShow:true
    }
  });
</script>

2.2 v-if

v-show和v-if大體效果相同,不同的是:v-show的元素會始終渲染并保持在DOM中。

用法:根據表達式的值的真假條件渲染元素。在切換時元素及它的數據綁定 / 組件被銷毀并重建。如果元素是 <template> ,

將提出它的內容作為條件塊。當條件變化時該指令觸發過渡效果。

實例:

<div id="app">
 <p v-if="isShow">
  show
 </p>
</div>
<script>
  new Vue({
    el:'#app',
    data: {
      isShow:false
    }
  });
</script>

 2.3 v-else

限制:前一兄弟元素必須有 v-if 或 v-else-if

用法:為v-if 或者v-else-if 添加 “else 塊”

<div id="app">
 <p v-if="isShow">show</p>
 <p v-else>hide</p>
</div>
<script>
  new Vue({
    el:'#app',
    data: {
      isShow:true
    }
  });
</script>

2.4 v-else-if

<div id="app">
 <p v-if="type === 'a'">A</p>
 <p v-else-if="type==='b'">B</p>
 <p v-else>C</p>
</div>
<script>
  new Vue({
    el:'#app',
    data: {
      type:'b',
    }
  });
</script>

3. v-for 渲染循環列表

用法:基于源數據多次渲染元素或模板塊。此指令之值,必須使用特定語法 alias in expression ,為當前遍歷的元素提供別名:

v-for 默認行為試著不改變整體,而是替換元素。迫使其重新排序的元素,您需要提供一個key 的特殊屬性:

實例:

<body>
 <div id="app">
  <ul>
   <li v-for="item in items" :key="item.id">{{item.name}}</li>
  </ul>
 </div>
 <script>
   new Vue({
     el:'#app',
     data: {
      items:[
        {name:'hxl'},
        {name:'zp'},
        {name:'hxlzp'},
      ],
     }
   });
 </script>

4. v-on綁定事件

用法:

綁定事件監聽器。事件類型由參數指定。表達式可以是一個方法的名字或一個內聯語句,如果沒有修飾符也可以省略。

用在普通元素上時,只能監聽 原生 DOM 事件。用在自定義元素組件上時,也可以監聽子組件觸發的自定義事件。

在監聽原生 DOM 事件時,方法以事件為唯一的參數。如果使用內聯語句,語句可以訪問一個 $event 屬性:

修飾符:

.stop - 調用 event.stopPropagation()。
.prevent - 調用 event.preventDefault()。
.capture - 添加事件偵聽器時使用 capture 模式。
.self - 只當事件是從偵聽器綁定的元素本身觸發時才觸發回調。
.{keyCode | keyAlias} - 只當事件是從偵聽器綁定的元素本身觸發時才觸發回調。
.native - listen for a native event on the root element of component.
.once - 觸發一次。
.left - (2.2.0+) only trigger handler for left button mouse events.
.right - (2.2.0+) only trigger handler for right button mouse events.
.middle - (2.2.0+) only trigger handler for middle button mouse events.
.passive - (2.3.0+) attaches a DOM event with { passive: true }.

實例:

<div id="app">
 <!--方法處理器-->
 <button v-on:click="doSomething">方法處理器</button>
 <!--內聯語句-->
 <button v-on:click="doSomething('Vue.js!',$event)">內聯語句</button>
 <!--縮寫-->
 <button @click="doSomething">縮寫</button>
 <!--停止冒泡-->
 <button @click.stop="doSomething">停止冒泡</button>
 <!--阻止默認行為-->
 <button @click.prevent="doSomething">阻止默認行為</button>
 <!--串聯修飾符-->
 <button @click.stop.prevent="doSomething">串聯修飾符</button>
 <!--鍵修飾符,鍵別名-->
 <input @keyup.enter="onEnter" placeholder="回車鍵" v-model="msg">
 <button v-on:click.once="doSomething">執行一次</button>
</div>
<script>
  new Vue({
    el:'#app',
    data: {
     name:'vue.js',
     msg:''
    },
    //在methods對象中定義方法
    methods:{
      doSomething:function (event) {
        //方法中的this指向Vue實例
        alert(this.name)
      },
      onEnter:function (event) {
        this.msg = '按下了回車鍵'
      }
    },
  });
</script>

5.v-bind 綁定屬性

用法:

動態地綁定一個或多個特性,或一個組件 prop 到表達式。

在綁定 class 或 style 特性時,支持其它類型的值,如數組或對象??梢酝ㄟ^下面的教程鏈接查看詳情。

在綁定 prop 時,prop 必須在子組件中聲明??梢杂眯揎椃付ú煌慕壎愋?。

沒有參數時,可以綁定到一個包含鍵值對的對象。注意此時 class 和 style 綁定不支持數組和對象。

修飾符:

.prop - 被用于綁定 DOM 屬性。
.camel - (2.1.0+) transform the kebab-case attribute name into camelCase.
.sync - (2.3.0+) a syntax sugar that expands into a v-on handler for updating the bound value.

實例:

<!-- 綁定一個屬性 -->
<img v-bind:src="imageSrc">
<!-- 縮寫 -->
<img :src="imageSrc">
<!-- with inline string concatenation -->
<img :src="'/path/to/images/' + fileName">
<!-- class 綁定 -->
<div :class="{ red: isRed }"></div>
<div :class="[classA, classB]"></div>
<div :class="[classA, { classB: isB, classC: isC }]"></div>
<!-- style 綁定 -->
<div :></div>
<div :></div>

關于Vue.js中有哪些常用的指令就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女