国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue條件循環判斷+計算屬性+綁定樣式v-bind的實例

2019-11-19 12:54:56
字體:
來源:轉載
供稿:網友

Vue.js條件與循環

1、條件判斷

(1)v-if,

<div id="app">  <p v-if="seen">現在你看到我了</p>  <template v-if="ok">     <h1>菜鳥教程</h1>  </template></div> <script> new Vue({   el:'#app',   data:{      seen:true,      ok:true   } });</script>

(2)v-else-if

(3)v-else

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

(4)v-show

除了v-if、v-else-if、v-else,還可以使用v-show指令來根據條件展示元素

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

2、循環語句

使用v-for指令

(1)簡單的v-for

 <ol>  <li v-for="site in sites">{{ site.name }}</li> </ol>

(2)模板中的v-for

<template v-for="site in sites">      <li> {{ site.name }} </li>      <li> ----- </li>    </template>

綜合小案例,如下:

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/vue.min.js" ></script> </head> <body> <div id="app">  <ol>  <li v-for="site in sites">   {{ site.name }}  </li>  </ol>    <!--利用模板化template進行循環-->  <ul>  <template v-for="site in sites">   <li>{{ site.name }}</li>   <li>-------</li>  </template>  </ul> </div>  <script>  new Vue({   el:'#app',   data:{   sites:[    {name:'Zhao'},    {name:'Xiao'},    {name:'yan'}   ]   }  }); </script> </body></html>

(3)v-for迭代對象

a.一個參數

原理:<li v-for="value in object"> {{ value }}

b.兩個參數

原理:<li v-for="(value,key) in object" > {{ key }} : {{ value }}

(4)v-for迭代整數

<div id="app"> <ul>  <li v-for="n in 10">   {{ n }}  </li> </ul></div>  <script>new Vue({ el: '#app'})</script>

3、計算屬性computed

計算屬性主要適用于一些復雜的邏輯關系,

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>計算屬性</title> <script type="text/javascript" src="js/vue.min.js" ></script> </head> <body> <div id="app">  <p>原始字符串:{{message}}</p>  <p>計算后反轉字符串:{{reversedMessage}}</p> </div>  <script>  var vm=new Vue({  el:'#app',  data:{   message:'Runoob'  },  computed:{   //計算屬性reversedMessage的getter   reversedMessage:function(){   //this指向vm實例   return this.message.split('').reverse().join('');   }  }  }) </script> </body></html>

由于computed用于計算屬性,而reversedMessge相對于computed的屬性的獲得,其this指向的是vm的實例,當message發生改變的時候,對應的reversedMessage也會發生相對應改變。

擴展:computed VS methods

由于computed與methods實現效果相同,所以也可以使用methods來替代computes,

區別如下:

a、computed基于它的依賴緩存,只有相關依賴發生改變時,才會重新取值;

b、methods而言,在重新渲染的時候,函數總會重新調用執行。

可以說computed性能會更好,但若不希望緩存,可以使用methods屬性

4、樣式綁定

在vue中由于class與style是HTML元素的屬性,用于設置元素的樣式,可以用v-bind來設置樣式屬性

實例1:

<div v-bind:class="{active:isActive}"></div>

等價于

<div class="active">

(1)vue.js.style(內聯樣式)

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/vue.min.js" ></script> </head> <body> <div id="app">  <div v-bind:style="{color:activeColor,fontSize:fontSize + 'px'}">菜鳥教程</div> </div>  <script>  new Vue({  el:'#app',  data:{   activeColor:'green',   fontSize:30  }  }) </script> </body></html>

(2)使用數組將多個樣式對象應用到一個元素上

 <div v-bind:style="[baseStyles,overridingStyles]">菜鳥教程</div>    <script>       new Vue({ el:'#app',        data:{  baseStyles:{   color:'green',  fontSize:'30px'  },  overridingStyles:{  'font-weight':'blod'  } }       })    </script>

以上這篇Vue條件循環判斷+計算屬性+綁定樣式v-bind的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威远县| 汉中市| 马边| 南川市| 斗六市| 同心县| 碌曲县| 芦山县| 凌源市| 叙永县| 达尔| 错那县| 永福县| 峨山| 古浪县| 辛集市| 女性| 沾益县| 枣阳市| 绥棱县| 邢台县| 吉安县| 达尔| 红桥区| 阳泉市| 浏阳市| 仁寿县| 马龙县| 乌兰县| 遂平县| 会理县| 华池县| 祥云县| 卫辉市| 察哈| 孙吴县| 贵溪市| 镇巴县| 黔西县| 辽中县| 利辛县|