首页 > 语言 > JavaScript > 正文

Vue条件循环判断+计算属性+绑定样式v-bind的实例

2024-05-06 15:29:49
字体:
来源:转载
供稿:网友

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>            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选