这篇文章主要为大家详细介绍了Vue条件循环判断+计算属性+绑定样式v-bind的实例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
代码如下:
<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>
代码如下:
<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>
除了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>
代码如下:
<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>
原理:<li v-for="value in object"> {{ value }}
原理:<li v-for="(value,key) in object" > {{ key }} : {{ value }}
代码如下:
<div id="app">
<ul>
<li v-for="n in 10">
{{ n }}
</li>
</ul>
</div>
<script>
new Vue({
el: '#app'
})
</script>
计算属性主要适用于一些复杂的逻辑关系,
代码如下:
<!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与methods实现效果相同,所以也可以使用methods来替代computes,
a、computed基于它的依赖缓存,只有相关依赖发生改变时,才会重新取值;
b、methods而言,在重新渲染的时候,函数总会重新调用执行。
可以说computed性能会更好,但若不希望缓存,可以使用methods属性
在vue中由于class与style是HTML元素的属性,用于设置元素的样式,可以用v-bind来设置样式属性
代码如下:
<div v-bind:class="{active:isActive}"></div>
等价于
代码如下:
<div class="active">
代码如下:
<!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>
代码如下:
<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的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持四海网。
本文来自:http://www.q1010.com/184/6205-0.html
注:关于Vue条件循环判断+计算属性+绑定样式v-bind的实例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:vue.js
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。