首頁 > php教程 > PHP开发 > 主體

Vue.js常用指令匯總(v-if、v-for等)

高洛峰
發布: 2016-12-07 16:54:00
原創
1963 人瀏覽過

有時候指令太多會造成記錯、記混的問題,所以本文在記憶的時候會採取穿插記憶的方式,交叉比對,不易出錯。

本文主要講了一下六個指令:

v-if//v-show//v-else//v-for//v-bind//v-on

1. v-if 條件渲染指令,根據其後表達式的bool值判斷是否渲染該元素;

eg: 

HTML:

<p id="example01">
 <p v-if="male">Male</p>
 <p v-if="female">Female</p>
 <p v-if="age>25">Age:{{age}}</p>
 <p v-if="name.indexOf(&#39;lin&#39;)>0">Name:{{name}}</p>
</p>
登入後複製

   


JS:  


JS:頁效果

Vue.js常用指令匯總(v-if、v-for等)

所以,v-if指令只渲染他身後表達式為true的元素;在這裡引入v-show指令,因為二者的區別是v-show指令會渲染他身後表達式為false的元素,這樣的元素上會加入css程式碼: style="max-width:90%"; 將上面v-if的實例程式碼改為v-show,頁面渲染效果為:

Vue.js常用指令匯總(v-if、v-for等)

2, v-show 與v-if類似,只是會渲染其身後表達式為false的元素,而且會為這樣的元素加上css程式碼: style="max-width:90%";

3, v-else 必須跟在v-if/v-show指令之後,不然不起作用;

如果v-if/v-show指令的表達式為true,則else元素不顯示;如果v-if/v-show指令的表達式為false,則else元素顯示在頁面上;

eg:

var vm= new Vue({
 el:"#example01",
 data:{
  male:true,
  female: false,
  age:29,
  name:&#39;colin&#39;
 }
 })
登入後複製

    

<p id="app">
<h1 v-if="age >= 25">Age: {{ age }}</h1>
<h1 v-else>Name: {{ name }}</h1>
<hr>
<h1 v-show="name.indexOf(&#39;cool&#39;) = 0">Name: {{ name }}</h1>
<h1 v-else>Sex: {{ sex }}</h1>
</p>
登入後複製

   


4, v-for  類似者使用的遍歷

eg:

CSS:

<script>
 var vm = new Vue({
 el: &#39;#app&#39;,
 data: {
  age: 21,
  name: &#39;keepcool&#39;,
  sex: &#39;Male&#39;
 }
 })
</script>
登入後複製

   


HTML:

<style>
table,th,tr,td{
  border:1px solid #ffcccc;
  border-collapse: collapse;
 }
</style>
登入後複製

 


頁面效果:

5, v-bind  這個指令用於回應地更新HTML 特性,例如綁定某個class元素或元素的style樣式。


eg,分頁功能中目前頁數高亮的效果,可以使用bind指令。

<p id="example03">
 <table>
 <thead>
 <tr>
  <th>Name</th>
  <th>Age</th>
  <th>Sex</th>
 </tr>
 </thead>
 <tbody>
 <tr v-for="person in people">
  <td>{{ person.name }}</td>
  <td>{{ person.age }}</td>
  <td>{{ person.sex }}</td>
 </tr>
 </tbody>
 </table>
</p>
登入後複製

   

Vue.js常用指令匯總(v-if、v-for等)

 6, v-on  用於監聽指定元素的DOM事件,例如點擊事件。

eg:

<script>
 var vm = new Vue({
 el: &#39;#example03&#39;,
 data: {
  people: [{
  name: &#39;Jack&#39;,
  age: 30,
  sex: &#39;Male&#39;
  }, {
  name: &#39;Bill&#39;,
  age: 26,
  sex: &#39;Male&#39;
  }, {
  name: &#39;Tracy&#39;,
  age: 22,
  sex: &#39;Female&#39;
  }, {
  name: &#39;Chris&#39;,
  age: 36,
  sex: &#39;Male&#39;
  }]
 }
 })
</script>
登入後複製
<ul class="pagination">
  <li v-for="n in pageCount">
   <a href="javascripit:void(0)" v-bind:class="activeNumber === n + 1 ? &#39;active&#39; : &#39;&#39;">{
   { n + 1 }}</a>
  </li>
  </ul>
登入後複製

   以上就是Vue.js常用指令匯總(v-if、v-for等)的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板